/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family: Arial, Helvetica, sans-serif;
    background:#f3f0fa;
    color:#333;
}

/* SIDEBAR */
.sidebar{
    width:250px;
    height:100vh;
    position:fixed;
    top:0;
    left:0;
    background:linear-gradient(180deg,#6a11cb,#8e54e9);
    padding:20px 15px;
    color:#fff;
}

.sidebar h2{ margin-bottom:20px; }

/* MENU */
.sidebar ul{ list-style:none; padding:0; }
.sidebar ul li{ margin-bottom:5px; }

.sidebar ul li a{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#fff;
    padding:12px;
    border-radius:8px;
    transition:0.3s;
    font-size:15px;
}
.sidebar ul li a:hover{ background:rgba(255,255,255,0.15); }

/* CONTEÚDO PRINCIPAL */
.main{
    margin-left:250px;
    padding:25px;
    width:calc(100% - 250px);
    min-height:100vh;
}

/* TOPBAR */
.topbar{
    width:100%;
    background:#fff;
    padding:15px 20px;
    border-radius:12px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

/* GRID DOS CARDS */
.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:20px;
    margin-bottom:20px;
}

/* CARD */
.card{
    background:#fff;
    padding:20px;
    border-radius:12px;
}

/* BLOCOS GRANDES */
.box{
    background:#fff;
    padding:20px;
    border-radius:12px;
    margin-bottom:20px;
}

/* FORMULÁRIOS */
label{
    display:block;
    margin-top:12px;
    font-weight:600;
    font-size:14px;
}

input, select, textarea{
    width:100%;
    padding:10px;
    margin-top:5px;
    border-radius:8px;
    border:1px solid #ddd;
    font-size:14px;
}

textarea{
    resize:vertical;
}

/* BOTÕES (padrão do sistema) */
button{
    background:#6a11cb;
    color:#fff;
    border:none;
    padding:10px 14px;
    border-radius:10px;
    cursor:pointer;
}
button:hover{ opacity:.9; }

.toggle-dark{
    background:#f3f0fa;
    border:none;
    padding:8px 12px;
    border-radius:8px;
    cursor:pointer;
}

/* ===== MURAL ===== */
.mural-form{ margin-bottom:20px; }

.mural-form textarea{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:1px solid #ddd;
    resize:vertical;
}

.mural-form button{
    margin-top:10px;
    background:#6a11cb;
    color:#fff;
    border:none;
    padding:10px 18px;
    border-radius:10px;
    cursor:pointer;
    font-weight:bold;
}

.mural-lista{ margin-top:15px; }

.mural-item{
    background:#ffffff;
    border-radius:12px;
    padding:15px;
    margin-bottom:12px;
    box-shadow:0 2px 6px rgba(0,0,0,0.05);
}

.mural-topo{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
}

.mural-data{
    font-size:12px;
    color:#777;
    margin-left:8px;
}

.mural-acoes a{
    font-size:13px;
    text-decoration:none;
    margin-left:12px;
    color:#6a11cb;
    font-weight:500;
}
.mural-acoes a:hover{ text-decoration:underline; }

.mural-msg{
    margin-top:6px;
    line-height:1.5;
    font-size:15px;
}

/* ===== TABELAS ===== */
.tabela{
    width:100%;
    border-collapse:collapse;
    background:#fff;
}
.tabela th,
.tabela td{
    padding:10px;
    border-bottom:1px solid #eee;
    text-align:left;
    font-size:14px;
}
.tabela th{ background:#f5f2ff; }
.tabela tr:hover{ background:rgba(106,17,203,0.05); }

.btn-nova{
    background:#6a11cb;
    color:#fff;
    padding:8px 14px;
    border-radius:8px;
    text-decoration:none;
    font-size:14px;
    display:inline-block;
}

/* GRID 2 */
.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}

/* RESPONSIVO */
@media(max-width:900px){
    .sidebar{
        position:relative;
        width:100%;
        height:auto;
    }
    .main{
        margin-left:0;
        width:100%;
        padding:15px;
    }
}

@media(max-width:700px){
    .grid-2{ grid-template-columns:1fr; }
}

/* DARK MODE */
body.dark{
    background:#1e1e1e;
    color:#eee;
}

body.dark .topbar,
body.dark .card,
body.dark .box{
    background:#2b2b2b;
    color:#fff;
}

body.dark .toggle-dark{
    background:#444;
    color:#fff;
}

body.dark input,
body.dark select,
body.dark textarea{
    background:#2b2b2b;
    color:#fff;
    border:1px solid #444;
}

body.dark .tabela{
    background:#2b2b2b;
}
body.dark .tabela th{
    background:rgba(255,255,255,0.06);
}
body.dark .tabela td{
    border-bottom:1px solid rgba(255,255,255,0.08);
}

body.dark .mural-item{ background:#2b2b2b; }
body.dark .mural-data{ color:#bbb; }
body.dark .mural-acoes a{ color:#c7a6ff; }

/* =========================
   MODAL (EXCLUIR MATÉRIA)
   >>> CORRIGE O BOTÃO CANCELAR
========================= */
.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:15px;
}

.modal-box{
  width:min(520px, 100%);
  background:#fff;
  color:#333;
  border-radius:14px;
  padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}

body.dark .modal-box{
  background:#2b2b2b;
  color:#fff;
}

.btn-danger{
  background:#d7263d !important;
  color:#fff !important;
  border:none !important;
  padding:8px 12px !important;
  border-radius:10px !important;
  cursor:pointer !important;
}

/* ✅ aqui está o conserto definitivo */
.btn-sec{
  background:#f4f4f4 !important;
  color:#333 !important;
  border:1px solid rgba(0,0,0,.18) !important;
  padding:8px 12px !important;
  border-radius:10px !important;
  cursor:pointer !important;
  font-weight:600 !important;
}

.btn-sec:hover{ background:#e9e9e9 !important; }

body.dark .btn-sec{
  background:#3a3a3a !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.25) !important;
}

body.dark .btn-sec:hover{ background:#4a4a4a !important; }

/* ===== CHECKLIST ASSESSORES (AGENDA) ===== */
.check-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 14px;
  margin-top:10px;
}

@media(max-width:700px){
  .check-grid{ grid-template-columns:1fr; }
}

.check-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:10px;
  background:#fff;
}

.check-item input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
}

.check-item span{
  line-height:1.2;
}

body.dark .check-item{
  background:#2b2b2b;
  border-color: rgba(255,255,255,0.15);
}
/* ===== AGENDA (PRO) ===== */
.agenda-item{
  border-left:6px solid #6a11cb;
  background:#fff;
  border-radius:12px;
  padding:14px;
  margin:10px 0;
  box-shadow:0 2px 6px rgba(0,0,0,0.05);
}

body.dark .agenda-item{
  background:#2b2b2b;
  box-shadow:none;
}

.agenda-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  align-items:flex-start;
}

.agenda-title a{
  text-decoration:none;
  color:inherit;
}

.agenda-meta{
  margin-top:6px;
  opacity:.85;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:rgba(106,17,203,0.10);
  color:#4b0aa0;
  border:1px solid rgba(106,17,203,0.18);
}

.badge.hoje{ background:rgba(46, 196, 182, .12); border-color:rgba(46, 196, 182, .25); color:#0f6b61; }
.badge.amanha{ background:rgba(255, 195, 0, .14); border-color:rgba(255, 195, 0, .28); color:#7a5a00; }
.badge.urgente{ background:rgba(215, 38, 61, .14); border-color:rgba(215, 38, 61, .28); color:#a01222; }

.agenda-passou{
  opacity:.70;
  filter:saturate(.8);
}

.agenda-tipo{
  font-size:12px;
  opacity:.9;
  font-weight:700;
}

/* Dark mode badges */
body.dark .badge{
  background:rgba(191,163,255,0.15);
  border-color:rgba(191,163,255,0.25);
  color:#e7dbff;
}
body.dark .badge.hoje{ background:rgba(46, 196, 182, .16); border-color:rgba(46, 196, 182, .26); color:#c9fff7; }
body.dark .badge.amanha{ background:rgba(255,195,0,.16); border-color:rgba(255,195,0,.28); color:#fff1b3; }
body.dark .badge.urgente{ background:rgba(215,38,61,.18); border-color:rgba(215,38,61,.30); color:#ffd0d6; }