﻿:root{
  --mc-bg: #F5F5F6;
  --mc-surface: #FFFFFF;
  --mc-sidebar: #0A0A0A;
  --mc-sidebar-2: #1A1A1E;
  --mc-primary: #FF1F1F;
  --mc-primary-2: #D61A1A;
  --mc-text: #17171A;
  --mc-muted: #6E6E73;
  --mc-border: #E2E2E5;
  --mc-shadow: 0 14px 32px rgba(0,0,0,.10);
  --mc-font-base: "Raleway", "Segoe UI", Tahoma, sans-serif;
  --mc-font-display: "Raleway", "Segoe UI", Tahoma, sans-serif;
}

/* Base */
html, body { height: 100%; }
body{
  background: var(--mc-bg);
  color: var(--mc-text);
  font-family: var(--mc-font-base);
}
h1, h2, h3, h4, h5, h6, .mc-display{
  font-family: var(--mc-font-display);
  letter-spacing: .2px;
}

.fw-bold{
  font-weight: 600 !important;
}

/* Bootstrap overrides */
.btn-primary{
  --bs-btn-bg: var(--mc-primary);
  --bs-btn-border-color: var(--mc-primary);
  --bs-btn-color: #113238;
  --bs-btn-hover-bg: var(--mc-primary-2);
  --bs-btn-hover-border-color: var(--mc-primary-2);
}
.text-muted{ color: var(--mc-muted)!important; }
.border, .border-top, .border-bottom, .border-start, .border-end{
  border-color: var(--mc-border)!important;
}

/* Cards / surfaces */
.card{
  border: 1px solid var(--mc-border);
  border-radius: 16px;
  box-shadow: var(--mc-shadow);
}
.card-header{
  background: #FAFAFB;
  border-bottom: 1px solid var(--mc-border);
  border-top-left-radius: 16px !important;
  border-top-right-radius: 16px !important;
}

/* Inputs */
.form-control, .form-select{
  border-radius: 12px;
  border-color: var(--mc-border);
}
.form-control:focus, .form-select:focus{
  border-color: rgba(214,26,26,.9);
  box-shadow: 0 0 0 .25rem rgba(255,31,31,.25);
}

/* Sidebar */
.mc-sidebar{
  width: 260px;
  min-height: 100vh;
  background: linear-gradient(180deg, var(--mc-sidebar), #1E2C29);
  position: sticky;
  top: 0;
}
.mc-brand{
  display:flex;
  align-items:center;
  gap: 10px;
}
.mc-brand img{ height: 40px; }
.mc-sidebar .mc-brand .mc-sidebar-logo{
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  display: block;
}
.mc-brand .t1{ font-weight: 600; letter-spacing: .18em; text-transform: uppercase; font-family: var(--mc-font-display); color: #EDEDEF; }
.mc-brand .t2{ font-size: 12px; color: rgba(255,255,255,.65); margin-top: -2px; }

.mc-nav .nav-link{
  color: rgba(255,255,255,.86);
  border-radius: 12px;
  padding: .58rem .75rem;
  display:flex;
  align-items:center;
  gap: 10px;
}
.mc-nav .nav-link:hover{
  background: rgba(255,31,31,.12);
}
.mc-nav .nav-link.active{
  background: rgba(255,31,31,.20);
  border: 1px solid rgba(255,31,31,.25);
}

/* Topbar */
.mc-topbar{
  background: var(--mc-surface);
  border-bottom: 1px solid var(--mc-border);
  position: sticky;
  top: 0;
  z-index: 1020;
  box-shadow: 0 6px 16px rgba(10,20,18,.04);
}
.mc-topbar-search{ max-width: 680px; }

/* KPI strip */
.mc-strip{
  height: 6px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  background: var(--mc-primary);
}
.mc-strip.alt{ background: var(--mc-primary-2); }
.mc-strip.green{ background: #55B36B; }
.mc-strip.red{ background: #E05252; }
.mc-strip.yellow{ background: #F2C94C; }

/* Landing - helpers */
.mc-hero{
  min-height: clamp(420px, 72vh, 760px);
  border-radius: 26px;
  overflow: hidden;
  background: radial-gradient(980px 360px at 10% 12%, rgba(255,31,31,.28), transparent 60%),
              radial-gradient(520px 240px at 92% 10%, rgba(214,26,26,.18), transparent 65%),
              linear-gradient(135deg, rgba(20,32,30,.98), rgba(28,44,40,.98));
  position: relative;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 24px 60px rgba(8,18,16,.45);
}
.mc-hero::before{
  content:"";
  position:absolute; inset:0;
  background-image: linear-gradient(120deg, rgba(255,255,255,.12), transparent 45%),
                    repeating-linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.08) 2px, transparent 2px, transparent 14px);
  opacity: .25;
  pointer-events: none;
}
.mc-hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.12));
  pointer-events:none;
}
.mc-hero .mc-hero-content{
  position: relative;
  z-index: 2;
}
.mc-chip{
  display:inline-flex;
  gap:.5rem;
  align-items:center;
  padding:.35rem .65rem;
  border-radius: 999px;
  background: rgba(255,31,31,.18);
  border: 1px solid rgba(255,31,31,.28);
  color:#EDEDEF;
  font-weight: 600;
  font-size: .86rem;
}

/* Footer */
.mc-footer{
  background: #172320;
  color: rgba(255,255,255,.78);
}

/* =========================================================
   Tela de acesso (login, reset de senha)
   Fundo escuro, alinhado ao app do aluno -- e a primeira tela
   que o aluno ve, e ate aqui ela usava o tema claro da clinica.
   ========================================================= */

body.mc-auth{
  background:
    radial-gradient(1100px 520px at 50% -10%, rgba(255, 31, 31, .16), transparent 62%),
    #0A0A0A;
  color: #FFFFFF;
}

body.mc-auth .card{
  background: #1A1A1E;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .60);
  color: #FFFFFF;
}

body.mc-auth .card-body{ padding: 26px 24px; }

body.mc-auth h1,
body.mc-auth h2,
body.mc-auth .h4,
body.mc-auth .fw-bold{ color: #FFFFFF; }

body.mc-auth .text-muted{ color: rgba(255, 255, 255, .62) !important; }
body.mc-auth label,
body.mc-auth .form-label{ color: rgba(255, 255, 255, .78); font-size: 13px; }

body.mc-auth .form-control{
  background: #131316;
  border: 1px solid rgba(255, 255, 255, .14);
  color: #FFFFFF;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 16px;   /* 16px evita o zoom automatico do iOS ao focar */
}
body.mc-auth .form-control::placeholder{ color: rgba(255, 255, 255, .38); }
body.mc-auth .form-control:focus{
  background: #131316;
  color: #FFFFFF;
  border-color: #FF1F1F;
  box-shadow: 0 0 0 .18rem rgba(255, 31, 31, .25);
}

body.mc-auth .btn-primary{
  background: #FF1F1F;
  border-color: #FF1F1F;
  color: #FFFFFF;
  font-weight: 700;
  padding: 12px 18px;
  border-radius: 10px;
}
body.mc-auth .btn-primary:hover,
body.mc-auth .btn-primary:focus{ background: #D61A1A; border-color: #D61A1A; }

body.mc-auth .btn-outline-secondary{
  border-color: rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .82);
  border-radius: 10px;
  padding: 11px 18px;
}
body.mc-auth .btn-outline-secondary:hover{
  background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .30);
  color: #FFFFFF;
}

body.mc-auth .alert{
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .05);
  color: rgba(255, 255, 255, .86);
}
body.mc-auth .alert-warning{
  border-color: rgba(245, 158, 11, .38);
  background: rgba(245, 158, 11, .10);
  color: #F6C36B;
}
body.mc-auth .alert-danger{
  border-color: rgba(255, 31, 31, .40);
  background: rgba(255, 31, 31, .10);
  color: #FF7B7B;
}

body.mc-auth a{ color: #FF6B6B; }
body.mc-auth a:hover{ color: #FF9090; }

/* Assinatura da marca abaixo do card */
body.mc-auth .mc-auth-tagline{
  text-align: center;
  margin-top: 16px;
  font-size: 11px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .38);
}
