/* STATIC/STYLE.CSS */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    /* --- PALETA OFICIAL DIGICLIN --- */
    --cor-verde-agua: #00B9AD;   /* Primária / Ações / Links */
    --cor-cinza-escuro: #2A3E3A; /* Sidebar / Textos Fortes */
    --cor-laranja: #F48A3C;      /* Detalhes / Botões Secundários */
    --cor-branco: #FFFFFF;       /* Cards / Texto em fundo escuro */
    
    /* Tons derivados para UI */
    --cor-fundo: #F0F4F5;        /* Fundo da página (levemente cinza/azulado) */
    --cor-texto: #333333;
    --cor-texto-leve: #666666;
    --cor-borda: #E0E0E0;
    --cor-hover-verde: #009e94;  /* Tom mais escuro do verde para hover */
    
    --sidebar-width: 260px;
    --sombra-card: 0 4px 20px rgba(0, 0, 0, 0.05); /* Sombra moderna e difusa */
    --radius: 12px; /* Bordas arredondadas modernas */
}

body {
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--cor-fundo);
    color: var(--cor-texto);
    font-size: 0.9rem;
    -webkit-font-smoothing: antialiased;
}

/* --- TELA DE LOGIN --- */
.login-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background: linear-gradient(135deg, var(--cor-cinza-escuro) 0%, var(--cor-verde-agua) 100%);
}
.login-container {
    background-color: var(--cor-branco);
    padding: 2.5rem;
    border-radius: var(--radius);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    width: 350px;
    text-align: center;
}
.login-container h1 { color: var(--cor-cinza-escuro); font-weight: 700; margin-bottom: 0.5rem; font-size: 1.6rem; }
.login-container .welcome-sub { font-size: 0.9rem; color: var(--cor-texto-leve); margin-bottom: 2rem; }

/* --- MENU LATERAL (SIDEBAR) --- */
.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: var(--sidebar-width);
    background-color: var(--cor-cinza-escuro);
    color: var(--cor-branco);
    overflow-y: auto;
    box-shadow: 4px 0 20px rgba(0,0,0,0.05);
    z-index: 1000;
    display: flex;
    flex-direction: column;
}

.sidebar .logo {
    padding: 25px 20px;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    background: rgba(0,0,0,0.1);
}
.sidebar .logo img {
    max-width: 160px;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

.menu-list { list-style: none; padding: 20px 0; margin: 0; flex-grow: 1; }

/* Títulos das Seções do Menu */
.menu-category-title {
    padding: 15px 25px 5px 25px;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--cor-verde-agua);
    font-weight: 700;
    opacity: 0.9;
}

/* Links do Menu */
.menu-list a {
    color: #cfd8dc;
    text-decoration: none;
    display: block;
    padding: 12px 25px;
    transition: all 0.3s ease;
    font-size: 0.95rem;
    border-left: 4px solid transparent;
    font-weight: 500;
}

.menu-list a:hover {
    color: var(--cor-branco);
    background-color: rgba(255,255,255,0.05);
    border-left-color: var(--cor-verde-agua);
    padding-left: 30px;
}

/* Botão Sair */
.logout-item {
    margin-top: auto;
    border-top: 1px solid rgba(255,255,255,0.1);
}
.logout-btn {
    color: var(--cor-laranja) !important;
    font-weight: 700 !important;
}
.logout-btn:hover {
    background-color: rgba(244, 138, 60, 0.1) !important;
    border-left-color: var(--cor-laranja) !important;
}

/* --- CONTEÚDO PRINCIPAL --- */
.main-content {
    margin-left: var(--sidebar-width);
    padding: 2.5rem;
    width: calc(100% - var(--sidebar-width));
    box-sizing: border-box;
}

/* Títulos */
h1 {
    color: var(--cor-cinza-escuro);
    font-size: 1.8rem;
    margin-top: 0;
    margin-bottom: 1.5rem;
    font-weight: 700;
    position: relative;
    display: inline-block;
}
h1::after {
    content: '';
    display: block;
    width: 40px;
    height: 4px;
    background-color: var(--cor-verde-agua);
    margin-top: 5px;
    border-radius: 2px;
}

h2 { font-size: 1.3rem; color: var(--cor-cinza-escuro); margin-top: 0; font-weight: 600; }
h3 { font-size: 1.1rem; color: var(--cor-texto); font-weight: 600; }

/* --- CARTÕES (Cards) --- */
.card, .form-card, .table-card, .stat-card {
    background: var(--cor-branco);
    padding: 2rem;
    border-radius: var(--radius);
    box-shadow: var(--sombra-card);
    border: 1px solid rgba(0,0,0,0.02);
    margin-bottom: 2rem;
    transition: transform 0.2s ease;
}
.stat-card:hover { transform: translateY(-3px); }

/* --- FORMULÁRIOS MODERNOS --- */
.form-group { margin-bottom: 1.2rem; }
.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    font-size: 0.85rem;
    color: var(--cor-cinza-escuro);
}
.form-group input, .form-group select { 
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1px solid var(--cor-borda);
    border-radius: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    box-sizing: border-box;
    transition: all 0.3s;
    background-color: #fafafa;
}
.form-group input:focus, .form-group select:focus {
    outline: none;
    border-color: var(--cor-verde-agua);
    background-color: var(--cor-branco);
    box-shadow: 0 0 0 3px rgba(0, 185, 173, 0.1);
}

/* --- BOTÕES --- */
button, .btn-submit, .btn-filter, .btn-new {
    padding: 0.8rem 1.5rem;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
    display: inline-block;
    text-align: center;
    background-color: var(--cor-verde-agua);
    color: var(--cor-branco);
    box-shadow: 0 4px 6px rgba(0, 185, 173, 0.2);
}

button:hover, .btn-submit:hover, .btn-filter:hover, .btn-new:hover {
    background-color: var(--cor-hover-verde);
    transform: translateY(-1px);
    box-shadow: 0 6px 10px rgba(0, 185, 173, 0.3);
}

/* Botões Secundários */
.btn-del, .btn-fechar {
    background-color: var(--cor-laranja);
    box-shadow: 0 4px 6px rgba(244, 138, 60, 0.2);
}
.btn-del:hover, .btn-fechar:hover {
    background-color: #e57a2e;
    box-shadow: 0 6px 10px rgba(244, 138, 60, 0.3);
}

/* --- TABELAS --- */
.styled-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.9rem;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--cor-borda);
}
.styled-table th, .styled-table td { padding: 15px 18px; }
.styled-table thead tr {
    background-color: var(--cor-cinza-escuro);
    color: var(--cor-branco);
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.5px;
}
.styled-table tbody tr { border-bottom: 1px solid var(--cor-borda); background-color: var(--cor-branco); }
.styled-table tbody tr:nth-of-type(even) { background-color: #fcfcfc; }
.styled-table tbody tr:hover { background-color: #f0fdfc; }
.styled-table td { border-bottom: 1px solid #eee; }
.styled-table tbody tr:last-child td { border-bottom: none; }

/* --- ALERTAS --- */
.alert { padding: 1rem; margin-bottom: 1.5rem; border-radius: 8px; font-weight: 500; display: flex; align-items: center; }
.alert-success { background-color: #d1fae5; color: #065f46; border: 1px solid #a7f3d0; }
.alert-danger { background-color: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.alert-info { background-color: #e0f2fe; color: #075985; border: 1px solid #bae6fd; }

/* --- NAVEGACAO DIGICLIN 2026 --- */
.dc-topbar {
    position: fixed; top: 0; left: 232px; right: 0; height: 64px; z-index: 900;
    display: flex; align-items: center; gap: 14px; padding: 0 20px;
    background: rgba(255,255,255,.94); backdrop-filter: blur(14px);
    border-bottom: 1px solid #e2e8f0; box-sizing: border-box;
    transition: left .22s ease;
}
.dc-icon-button { width: 38px; height: 38px; padding: 0!important; border-radius: 10px!important; box-shadow: none!important; font-size: 1.1rem!important; }
.dc-global-search { flex: 1; max-width: 620px; height: 40px; display: flex!important; align-items: center; gap: 10px; padding: 0 13px!important; color: #64748b!important; background: #f8fafc!important; border: 1px solid #dbe3ec!important; box-shadow: none!important; text-align: left!important; }
.dc-global-search span:nth-child(2) { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dc-global-search kbd { border: 1px solid #cbd5e1; background: #fff; border-radius: 5px; padding: 2px 6px; font: 600 .7rem Poppins,sans-serif; color: #64748b; }
.dc-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.dc-top-action { background: #0f766e; color: #fff; border-radius: 9px; padding: 9px 12px; font-size: .78rem; font-weight: 700; text-decoration: none; }
.dc-user-chip { display: flex; flex-direction: column; line-height: 1.15; padding-left: 4px; max-width: 190px; }
.dc-user-chip strong { color: #0f172a; font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dc-user-chip small { color: #64748b; font-size: .65rem; }
body .main-content { padding: 82px 18px 18px!important; }
.menu-list a.active { color: #fff; background: rgba(0,185,173,.16); border-left-color: #2dd4bf; }
body.sidebar-collapsed .sidebar { transform: translateX(-100%)!important; }
body.sidebar-collapsed .sidebar::after { display:none; }
body.sidebar-collapsed .dc-topbar { left: 0; }
body.sidebar-collapsed .main-content { margin-left: 0!important; width: 100%!important; }
body:not(.sidebar-collapsed) .sidebar { transform: translateX(0)!important; }
body:not(.sidebar-collapsed) .main-content { margin-left: 232px!important; width: calc(100% - 232px)!important; }

.dc-search-modal { position: fixed; inset: 0; z-index: 3000; background: rgba(15,23,42,.48); backdrop-filter: blur(3px); padding: 10vh 18px 18px; }
.dc-search-modal[hidden] { display: none; }
.dc-search-dialog { width: min(720px,100%); max-height: 72vh; overflow: hidden; margin: 0 auto; border-radius: 16px; background: #fff; box-shadow: 0 25px 80px rgba(15,23,42,.28); border: 1px solid #e2e8f0; }
.dc-search-input-wrap { display: flex; gap: 12px; align-items: center; padding: 13px 16px; border-bottom: 1px solid #e2e8f0; }
.dc-search-input-wrap input { flex: 1; border: 0; outline: 0; font: 500 1rem Poppins,sans-serif; background: transparent; color: #0f172a; }
.dc-search-input-wrap button { padding: 0!important; width: 32px; height: 32px; box-shadow: none!important; background: #e2e8f0!important; color: #334155!important; }
.dc-search-results { max-height: 55vh; overflow: auto; padding: 8px; }
.dc-search-result { display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: center; padding: 10px; border-radius: 10px; color: #0f172a; text-decoration: none; }
.dc-search-result:hover { background: #f0fdfa; }
.dc-search-result-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: #ccfbf1; }
.dc-search-result strong,.dc-search-result small { display: block; }
.dc-search-result small { color: #64748b; margin-top: 2px; }
.dc-search-result em { color: #0f766e; font-size: .68rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.dc-search-hint { padding: 28px; text-align: center; color: #64748b; }
.dc-error { color: #b91c1c; }
.dc-logout-form { margin:0; }
.dc-logout-form .logout-btn { width:100%; text-align:left; border-radius:0!important; background:transparent!important; box-shadow:none!important; padding:12px 25px!important; }
.dc-page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:18px; }
.dc-page-heading h1 { margin-bottom:4px!important; }
.dc-page-heading p { margin:0; color:#64748b; }
.dc-eyebrow { display:block; color:#0f766e; text-transform:uppercase; letter-spacing:.12em; font-size:.67rem; font-weight:800; margin-bottom:5px; }
.dc-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.dc-admin-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:18px; box-shadow:0 7px 22px rgba(15,23,42,.05); }
.dc-admin-card strong,.dc-admin-card small { display:block; margin-top:6px; }
.dc-admin-card small { color:#64748b; }
.dc-backup-status { display:inline-flex; padding:6px 10px; border-radius:999px; font-weight:800; font-size:.78rem; }
.dc-backup-status.ok { color:#166534; background:#dcfce7; }
.dc-backup-status.warning { color:#9a3412; background:#ffedd5; }
.dc-audit-filter { display:flex; gap:8px; margin-bottom:14px; }
.dc-audit-filter input { flex:1; border:1px solid #dbe3ec; border-radius:8px; padding:9px 11px; }
.dc-method { display:inline-flex; background:#e0f2fe; color:#075985; border-radius:6px; padding:3px 7px; font-weight:800; font-size:.7rem; }
.dc-responsive-table { width:100%; overflow:auto; border-radius:9px; }
.dc-responsive-table .styled-table thead th { position:sticky; top:0; z-index:2; }
.dc-empty-row { text-align:center; color:#64748b; padding:28px!important; }

body[data-theme="dark"] { --cor-fundo:#0b1220; --cor-texto:#e2e8f0; --cor-branco:#111c2e; --cor-borda:#26354b; background:#0b1220; color:#e2e8f0; }
body[data-theme="dark"] .dc-topbar, body[data-theme="dark"] .dc-search-dialog, body[data-theme="dark"] .card, body[data-theme="dark"] .form-card, body[data-theme="dark"] .table-card, body[data-theme="dark"] .stat-card { background:#111c2e; border-color:#26354b; }
body[data-theme="dark"] .dc-global-search { background:#172338!important; border-color:#334155!important; color:#94a3b8!important; }
body[data-theme="dark"] .dc-user-chip strong, body[data-theme="dark"] .dc-search-input-wrap input, body[data-theme="dark"] .dc-search-result { color:#e2e8f0; }
body[data-theme="dark"] .dc-admin-card { background:#111c2e; border-color:#26354b; }
body[data-theme="dark"] .styled-table tbody tr, body[data-theme="dark"] input, body[data-theme="dark"] select, body[data-theme="dark"] textarea { background:#111c2e; color:#e2e8f0; }

@media(max-width:900px){
    .dc-topbar { left: 0; padding: 0 10px; }
    .dc-user-chip,.dc-global-search span:nth-child(2),.dc-global-search kbd,.dc-top-action { display:none; }
    .dc-global-search { max-width: 48px; flex: 0 0 42px; justify-content:center; }
    body:not(.sidebar-collapsed) .main-content,body.sidebar-collapsed .main-content { margin-left:0!important; width:100%!important; }
    body:not(.sidebar-collapsed) .sidebar,body.sidebar-collapsed .sidebar { transform:translateX(-100%)!important; width:260px!important; }
    body.sidebar-mobile-open .sidebar { transform:translateX(0)!important; box-shadow:12px 0 40px rgba(0,0,0,.35); }
    .dc-admin-grid { grid-template-columns:1fr; }
    .dc-page-heading { align-items:flex-start; flex-direction:column; }
}

/* --- MODULO FISCAL --- */
.fiscal-page{display:flex;flex-direction:column;gap:14px}.fiscal-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border-radius:8px;background:linear-gradient(135deg,#0f766e,#134e4a);color:#fff}.fiscal-hero h1{color:#fff!important;margin:0 0 5px!important}.fiscal-hero h1::after{display:none}.fiscal-hero p{margin:0;color:#d5f5f0}.fiscal-readiness{padding:10px 12px;border-radius:8px;text-align:right;min-width:160px}.fiscal-readiness strong,.fiscal-readiness small{display:block}.fiscal-readiness.ready{background:rgba(22,163,74,.25);border:1px solid #86efac}.fiscal-readiness.pending{background:rgba(217,119,6,.28);border:1px solid #fdba74}.fiscal-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.fiscal-card summary{cursor:pointer;font-weight:800;color:#0f172a}.fiscal-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.fiscal-form{display:flex;flex-direction:column;gap:10px}.fiscal-form label{font-size:.77rem;font-weight:750;color:#475569}.fiscal-form input,.fiscal-form select{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:9px 10px;border:1px solid #dbe3ec;border-radius:7px;background:#fff}.fiscal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fiscal-grid.two{grid-template-columns:1fr 2fr}.fiscal-identity{padding:10px;border-radius:7px;background:#f0fdfa;color:#134e4a}.fiscal-identity strong,.fiscal-identity span{display:block}.fiscal-identity span{font-size:.73rem;margin-top:3px}.fiscal-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.fiscal-heading h2,.fiscal-heading p{margin:0}.fiscal-heading p{color:#64748b;font-size:.78rem}.fiscal-heading>span,.fiscal-status{padding:5px 8px;border-radius:999px;background:#ccfbf1;color:#0f766e;font-size:.7rem;font-weight:800}#paciente-cep-status,#cep-status{color:#0f766e;font-weight:700}
body[data-theme="dark"] .fiscal-card{background:#111c2e;border-color:#26354b}body[data-theme="dark"] .fiscal-card summary{color:#e2e8f0}
@media(max-width:900px){.fiscal-config-grid,.fiscal-grid,.fiscal-grid.two{grid-template-columns:1fr}.fiscal-hero{align-items:flex-start;flex-direction:column}.fiscal-readiness{text-align:left}}

/* --- PADRAO VISUAL: AGENDAMENTOS E REPASSES --- */
body[data-endpoint="agendamentos"],body[data-endpoint="financeiro_repasses"]{
    --primary:#0f766e; --primary-dark:#134e4a; --border:#e2e8f0;
    --shadow:0 8px 24px rgba(15,23,42,.05); --radius:8px;
}
body[data-endpoint="agendamentos"] .page-wrap,
body[data-endpoint="financeiro_repasses"] .page-wrap{gap:14px!important;max-width:none;margin:0!important;}
body[data-endpoint="agendamentos"] .hero,
body[data-endpoint="financeiro_repasses"] .hero{
    border-radius:8px!important;padding:18px!important;background:linear-gradient(135deg,#0f766e,#134e4a)!important;
    box-shadow:0 10px 26px rgba(15,118,110,.13)!important;
}
body[data-endpoint="agendamentos"] .hero h1,
body[data-endpoint="financeiro_repasses"] .hero h1{font-size:1.45rem!important;margin-bottom:5px!important;color:#fff!important;}
body[data-endpoint="agendamentos"] .hero h1::after,
body[data-endpoint="financeiro_repasses"] .hero h1::after{display:none!important;}
body[data-endpoint="agendamentos"] .hero-badge,
body[data-endpoint="financeiro_repasses"] .hero-badge{border-radius:8px!important;padding:9px 11px!important;min-width:130px!important;}
.dc-page-tabs{display:flex;gap:6px;align-items:center;overflow:auto;padding:5px;background:#fff;border:1px solid #e2e8f0;border-radius:9px;box-shadow:0 5px 16px rgba(15,23,42,.04);scroll-margin-top:78px;}
.dc-page-tabs a{white-space:nowrap;text-decoration:none;color:#475569;font-weight:750;font-size:.77rem;padding:7px 10px;border-radius:7px;}
.dc-page-tabs a:hover{background:#f0fdfa;color:#0f766e;}.dc-page-tabs a.primary{margin-left:auto;background:#0f766e;color:#fff;}
.dc-inline-search{margin-left:auto;min-width:190px;border:1px solid #dbe3ec;border-radius:7px;padding:7px 10px;font:500 .76rem Poppins,sans-serif;}
.dc-tab-button{padding:7px 9px!important;border-radius:7px!important;box-shadow:none!important;background:#e2e8f0!important;color:#334155!important;font-size:.72rem!important;}
body[data-endpoint="agendamentos"] .card,body[data-endpoint="agendamentos"] .form-card,
body[data-endpoint="agendamentos"] .agenda-dia-card,body[data-endpoint="financeiro_repasses"] .card,
body[data-endpoint="financeiro_repasses"] .medico-container,body[data-endpoint="financeiro_repasses"] .history-card{
    border-radius:8px!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important;border-color:#e2e8f0!important;
}
body[data-endpoint="agendamentos"] .agenda-kpi,
body[data-endpoint="financeiro_repasses"] .resumo-item{border-radius:8px!important;padding:10px!important;box-shadow:none!important;}
body[data-endpoint="agendamentos"] .medico-card-select{border-radius:8px!important;box-shadow:none!important;}
body[data-endpoint="agendamentos"] .filters-card{position:sticky;top:72px;z-index:20;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px);}
body[data-endpoint="agendamentos"] #form-novo-card{position:sticky;top:132px;align-self:start;max-height:calc(100vh - 150px);overflow:auto;scroll-margin-top:82px;}
body[data-endpoint="agendamentos"] .agenda-header{background:#f8fafc!important;border-radius:8px 8px 0 0!important;}
body[data-endpoint="agendamentos"] .paciente-list-item:hover{background:#f8fffe!important;}
body[data-endpoint="financeiro_repasses"] .filter-bar{border-radius:8px!important;padding:12px!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important;position:sticky;top:72px;z-index:20;}
body[data-endpoint="financeiro_repasses"] .medico-header{padding:13px 15px!important;background:#f8fafc!important;}
body[data-endpoint="financeiro_repasses"] .medico-body{padding:14px!important;}
body[data-endpoint="financeiro_repasses"] .payment-form{border-radius:8px!important;padding:14px!important;}
body[data-endpoint="financeiro_repasses"] .total-pagar{font-size:1.05rem!important;color:#b91c1c!important;}
body[data-endpoint="financeiro_repasses"] .history-header{padding:13px 15px!important;}
body[data-endpoint="agendamentos"] [id],body[data-endpoint="financeiro_repasses"] section[id]{scroll-margin-top:125px;}
body[data-theme="dark"][data-endpoint="agendamentos"] .filters-card,
body[data-theme="dark"][data-endpoint="financeiro_repasses"] .filter-bar,
body[data-theme="dark"][data-endpoint="financeiro_repasses"] .medico-header{background:#111c2e!important;}
@media(max-width:900px){
 body[data-endpoint="agendamentos"] .filters-card,body[data-endpoint="agendamentos"] #form-novo-card,
 body[data-endpoint="financeiro_repasses"] .filter-bar{position:static;max-height:none;}
 .dc-page-tabs a.primary{margin-left:0;}
}

/* --- UTILITÁRIOS --- */
.grid-despesas, .grid-container, .stats-grid, .caixa-grid, .financial-grid {
    gap: 1.5rem; 
}

/* Badges de Status (Genéricos) */
.status-Pendente { color: var(--cor-laranja); font-weight: 700; background: rgba(244, 138, 60, 0.1); padding: 4px 8px; border-radius: 6px; }
.status-Pago, .status-Realizado { color: var(--cor-verde-agua); font-weight: 700; background: rgba(0, 185, 173, 0.1); padding: 4px 8px; border-radius: 6px; }

/* Modal */
.modal-content { border-radius: var(--radius); border: none; box-shadow: 0 10px 40px rgba(0,0,0,0.3); }
.modal h3 { color: var(--cor-verde-agua) !important; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--cor-verde-agua); }

/* ========================================= */
/* --- NOVA ESTILIZAÇÃO AGENDAMENTOS (V2) --- */
/* ========================================= */

/* 1. Filtro de Médicos (Estilo Pílula) */
.medicos-scroll {
    gap: 12px;
    padding: 5px 2px;
}
.medico-filter-card {
    border-radius: 50px; /* Arredondado */
    padding: 10px 25px;
    border: 1px solid #e0e0e0;
    background: #fff;
    min-width: auto; /* Remove largura fixa */
    white-space: nowrap;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    transition: all 0.3s ease;
}
.medico-filter-card:hover {
    border-color: #0a9396;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(10, 147, 150, 0.15);
}
.medico-filter-card.active {
    background-color: #005f73;
    color: white;
    border-color: #005f73;
    box-shadow: 0 4px 12px rgba(0, 95, 115, 0.3);
}
.medico-filter-card small {
    display: none; /* Esconde especialidade para limpar visual (opcional) */
}

/* 2. Lista de Pacientes (Layout Limpo) */
.paciente-list-item {
    display: grid;
    grid-template-columns: 1fr auto; /* Texto esquerda, Ações direita */
    gap: 15px;
    padding: 1.5rem;
    align-items: start;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s;
}
.paciente-list-item:hover {
    background-color: #fbfbfb;
}

.paciente-info-block h4 {
    margin: 0 0 6px 0;
    font-size: 1.1rem;
    color: #005f73;
    font-weight: 600;
}
.paciente-info-block .meta {
    font-size: 0.85rem;
    color: #666;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.paciente-info-block .procedimentos {
    font-size: 0.85rem;
    color: #00796b;
    font-weight: 500;
    background: #e0f2f1;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-block;
}

/* 3. Barra de Ações (Ícones) */
.actions-toolbar {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.whatsapp-group {
    display: flex;
    gap: 8px;
    background: #f0fdf4;
    padding: 5px;
    border-radius: 8px;
    border: 1px solid #dcfce7;
}

.btn-icon {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    background: white;
    color: #555;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    font-size: 1rem;
}
.btn-icon:hover { transform: scale(1.1); }

/* Cores botões ícones */
.btn-wa { background: #25d366; color: white; }
.btn-wa:hover { background: #1ebc57; box-shadow: 0 4px 10px rgba(37, 211, 102, 0.3); }

.btn-edit { color: #f39c12; border: 1px solid #fce8b2; }
.btn-edit:hover { background: #fff3cd; }

.btn-delete { color: #e74c3c; border: 1px solid #fadbd8; }
.btn-delete:hover { background: #fde2e2; }

.btn-status { 
    color: #7f8c8d; border: 1px solid #eee; font-size: 0.75rem; 
    width: auto; padding: 0 10px; font-weight: 600; height: 32px;
}
.btn-status:hover { background: #f5f5f5; color: #333; }

/* 4. Badges de Status (Pílula) */
.status-pill {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    display: inline-block;
}
.status-Agendado { background-color: #e3f2fd; color: #1565c0; }
.status-Aguardando { background-color: #fff3cd; color: #856404; }
.status-Realizado { background-color: #d4edda; color: #155724; }
.status-Cancelado { background-color: #f8d7da; color: #721c24; }
.status-Faltou { background-color: #ffcccc; color: #b71c1c; }

/* --- ESCALA VISUAL COMPACTA DIGICLIN --- */
:root {
    --sidebar-width: 232px;
}

html {
    font-size: 14px;
}

body {
    font-size: 0.86rem;
}

.sidebar .logo {
    padding: 16px 16px;
}

.sidebar .logo img {
    max-width: 132px;
}

.menu-list {
    padding: 12px 0;
}

.menu-category-title {
    padding: 11px 20px 4px 20px;
    font-size: 0.68rem;
}

.menu-list a {
    padding: 9px 20px;
    font-size: 0.84rem;
}

.menu-list a:hover {
    padding-left: 24px;
}

.main-content {
    padding: 1.45rem;
}

h1 {
    font-size: 1.45rem;
    margin-bottom: 1rem;
}

h1::after {
    height: 3px;
    margin-top: 4px;
}

h2 {
    font-size: 1.08rem;
}

h3 {
    font-size: 0.98rem;
}

.card,
.form-card,
.table-card,
.stat-card {
    padding: 1.15rem;
    margin-bottom: 1rem;
    border-radius: 8px;
}

.form-group {
    margin-bottom: 0.85rem;
}

.form-group label {
    margin-bottom: 4px;
    font-size: 0.76rem;
}

.form-group input,
.form-group select,
.form-group textarea,
input,
select,
textarea {
    padding: 0.58rem 0.72rem;
    font-size: 0.84rem;
}

button,
.btn-submit,
.btn-filter,
.btn-new {
    padding: 0.58rem 0.95rem;
    font-size: 0.84rem;
    border-radius: 7px;
}

.styled-table {
    font-size: 0.82rem;
}

.styled-table th,
.styled-table td {
    padding: 9px 11px;
}

.alert {
    padding: 0.68rem 0.85rem;
    margin-bottom: 0.9rem;
    border-radius: 7px;
}

.grid-despesas,
.grid-container,
.stats-grid,
.caixa-grid,
.financial-grid {
    gap: 1rem;
}

.medico-filter-card {
    padding: 8px 18px;
}

.paciente-list-item {
    padding: 1rem;
}

.paciente-info-block h4 {
    font-size: 0.98rem;
}

.btn-icon {
    width: 29px;
    height: 29px;
    font-size: 0.86rem;
}

.btn-status {
    height: 29px;
    padding: 0 8px;
    font-size: 0.68rem;
}

.status-pill {
    padding: 3px 8px;
    font-size: 0.64rem;
}

@media (max-width: 900px) {
    :root {
        --sidebar-width: 210px;
    }

    html {
        font-size: 13.5px;
    }

    .main-content {
        padding: 1rem;
    }
}
