/* =====================================================
   AgendaMedicamento — app.css
   ===================================================== */

:root {
    --primary: #0d6efd;
    --primary-dark: #0a58ca;
    --card-radius: 16px;
    --transition: .2s ease;
}

/* Layout */
body { background: #f0f4f8; font-family: 'Segoe UI', system-ui, sans-serif; }

.main-content { padding-top: 80px !important; min-height: 100vh; }

/* Cards */
.card {
    border: none;
    border-radius: var(--card-radius);
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: box-shadow var(--transition), transform var(--transition);
}
.card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.1); }

/* Agendamento card */
.med-card {
    cursor: pointer;
    border-left: 5px solid var(--primary);
    transition: transform var(--transition), box-shadow var(--transition);
}
.med-card:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(13,110,253,.15); }
.med-card.tomado { border-left-color: #198754; opacity: .8; }
.med-card.tomado .med-nome { text-decoration: line-through; color: #6c757d; }

.med-horario { font-size: 2rem; font-weight: 700; color: var(--primary); line-height: 1; }
.med-nome    { font-size: 1.05rem; font-weight: 600; }

/* Badges */
.badge-continuo { background: #e7f3ff; color: #0d6efd; font-size: .7rem; border-radius: 20px; padding: 3px 10px; }
.badge-tomado   { background: #d1fadf; color: #198754; font-size: .7rem; border-radius: 20px; padding: 3px 10px; }

/* Login page */
.login-card { max-width: 440px; width: 100%; border-radius: 20px; }
.login-logo { width: 64px; height: 64px; border-radius: 18px;
              background: linear-gradient(135deg, #0d6efd, #6610f2);
              display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }

/* Navbar */
.navbar { backdrop-filter: blur(8px); }

/* Offcanvas */
.offcanvas { max-width: 280px; }
.offcanvas .nav-link:hover { background: rgba(255,255,255,.15); }

/* Forms */
.form-control, .form-select {
    border-radius: 10px;
    border: 1.5px solid #dee2e6;
    padding: .55rem 1rem;
    transition: border-color var(--transition), box-shadow var(--transition);
}
.form-control:focus, .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(13,110,253,.15);
}

/* Botões */
.btn { border-radius: 10px; font-weight: 500; }
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }

/* Timeline (home) */
.time-group-label {
    font-size: .7rem; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: #6c757d;
}

/* Alerta card */
.alerta-card { border-left: 4px solid #ffc107; }

/* Stats */
.stat-num { font-size: 2rem; font-weight: 700; color: var(--primary); }

/* Avatar nick */
.nick-badge {
    background: #e7f3ff; color: #0d6efd; border-radius: 8px;
    padding: 6px 14px; font-family: monospace; font-size: 1.1rem; letter-spacing: .1em;
    font-weight: 700; display: inline-block;
}

/* Admin */
.admin-sidebar { min-height: calc(100vh - 56px); background: #1e2a3a; }
.admin-sidebar .nav-link { color: #adb5bd; border-radius: 8px; }
.admin-sidebar .nav-link:hover, .admin-sidebar .nav-link.active { background: rgba(255,255,255,.1); color: #fff; }

/* Responsive */
@media (max-width: 576px) {
    .med-horario { font-size: 1.5rem; }
    .stat-num    { font-size: 1.5rem; }
}
