:root{--cor: #7c3aed;--cor-escura: #6d28d9;--texto: #1f2430;--suave: #6b7280;--borda: #e5e7eb;--fundo: #f6f7fb;--card: #ffffff;--erro: #dc2626;--ok: #16a34a;--raio: 12px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--texto);background:var(--fundo);font-size:15px}a{color:var(--cor);text-decoration:none}h1{font-size:22px;margin:0 0 4px}h2{font-size:19px;margin:0 0 8px}.sub{color:var(--suave);margin:0 0 16px}.btn,.btn-sec{border:none;border-radius:10px;padding:9px 16px;font-size:14px;cursor:pointer;font-weight:600}.btn{background:var(--cor);color:#fff}.btn:hover{background:var(--cor-escura)}.btn:disabled{opacity:.6;cursor:default}.btn-sec{background:#eef0f5;color:var(--texto)}.btn-sec:hover{background:#e2e5ee}input,select{padding:9px 11px;border:1px solid var(--borda);border-radius:10px;font-size:14px;background:#fff;color:var(--texto)}input:focus,select:focus{outline:2px solid var(--cor);border-color:transparent}label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--suave)}label.check,label.dia{flex-direction:row;align-items:center;gap:8px}.card{background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);padding:18px;margin-bottom:18px}.form-linha{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.form-linha input,.form-linha select{flex:1;min-width:140px}.alerta{background:#fef2f2;color:var(--erro);border:1px solid #fecaca;border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:14px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}.login-logo{height:46px;align-self:center;margin-bottom:4px}.tagline{text-align:center;color:var(--suave);margin:0 0 8px}.centro-txt{text-align:center;align-items:center}.centro{min-height:100vh;display:grid;place-items:center;color:var(--suave)}.topo{display:flex;align-items:center;gap:24px;background:#fff;border-bottom:1px solid var(--borda);padding:12px 24px}.topo .logo{height:30px}.menu{display:flex;gap:6px;flex:1}.menu a{padding:7px 13px;border-radius:9px;color:var(--suave);font-weight:600}.menu a.on,.menu a:hover{background:#f1edfd;color:var(--cor)}.usuario{display:flex;align-items:center;gap:12px;font-size:13px}.usuario .conta{font-weight:700}.usuario .nome{color:var(--suave)}.conteudo{max-width:960px;margin:0 auto;padding:24px}.kpis{display:flex;gap:16px;flex-wrap:wrap}.kpi{background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);padding:18px 22px;display:flex;flex-direction:column;min-width:140px}.kpi .v{font-size:28px;font-weight:800;color:var(--cor)}.kpi .l{color:var(--suave);font-size:13px}.tabela{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden}.tabela th,.tabela td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--borda);font-size:14px}.tabela th{background:#fafafe;color:var(--suave);font-weight:600}.tabela tr:last-child td{border-bottom:none}.vazio{text-align:center;color:var(--suave);padding:22px}.tag{padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.tag-agendado{background:#eef2ff;color:#4338ca}.tag-confirmado{background:#ecfdf5;color:#047857}.tag-atendido{background:#eff6ff;color:#1d4ed8}.tag-cancelado{background:#fef2f2;color:#b91c1c}.tag-faltou{background:#fff7ed;color:#c2410c}
