*{padding:0;margin:0}.login-page{display:flex;height:100vh;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-visual{flex:1;background:#0f172a;display:flex;align-items:center;justify-content:center;padding:48px;position:relative;overflow:hidden}.login-visual:before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:#1d4ed820;top:-100px;right:-100px}.login-visual:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#3b82f610;bottom:-60px;left:-60px}.login-visual-conteudo{position:relative;z-index:1;max-width:420px}.login-logo-grande{font-size:28px;font-weight:700;color:#fff;margin-bottom:32px;letter-spacing:-.5px}.login-logo-tf{color:#3b82f6}.login-visual-titulo{font-size:32px;font-weight:700;color:#fff;line-height:1.25;margin:0 0 16px}.login-visual-sub{font-size:15px;color:#94a3b8;line-height:1.6;margin:0 0 40px}.login-cards{display:flex;flex-direction:column;gap:12px}.login-card-stat{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:16px;width:fit-content;min-width:200px}.login-card-stat--2{margin-left:32px}.login-card-stat--3{margin-left:64px}.login-card-valor{font-size:22px;font-weight:700;color:#3b82f6;min-width:60px}.login-card-label{font-size:13px;color:#94a3b8}.login-form-area{width:460px;display:flex;align-items:center;justify-content:center;padding:40px 32px;background:#fff;overflow-y:auto}.login-form-box{width:100%;max-width:360px}.login-form-header{margin-bottom:32px}.login-form-titulo{font-size:26px;font-weight:700;color:#0f172a;margin:0 0 6px}.login-form-sub{font-size:14px;color:#64748b;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.login-campo{display:flex;flex-direction:column;gap:6px}.login-label-row{display:flex;justify-content:space-between;align-items:center}.login-label{font-size:13px;font-weight:500;color:#374151}.login-link-esqueci{font-size:12px;color:#3b82f6;text-decoration:none}.login-link-esqueci:hover{text-decoration:underline}.login-input{height:42px;padding:0 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#0f172a;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff;width:100%;box-sizing:border-box}.login-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f620}.login-input.input-erro{border-color:#ef4444}.login-input-wrapper{position:relative}.login-input-senha{padding-right:42px}.login-olho{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;align-items:center;padding:0}.login-olho:hover{color:#6b7280}.login-erro{font-size:13px;color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;margin:0}.login-btn{height:44px;background:#1d4ed8;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;gap:8px}.login-btn:hover:not(:disabled){background:#1e40af}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{animation:girar .8s linear infinite}@keyframes girar{to{transform:rotate(360deg)}}.login-dica{margin-top:28px;padding:14px 16px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.login-dica-titulo{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin:0 0 8px}.login-dica-linha{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;margin-bottom:4px}.login-dica-linha:last-child{margin-bottom:0}.login-dica-linha code{background:#e2e8f0;padding:2px 6px;border-radius:4px;font-size:11px;color:#1e293b}@media (max-width: 768px){.login-visual{display:none}.login-form-area{width:100%;padding:32px 24px}}.login-notificacao{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:13px;margin-top:12px;animation:fadeIn .3s ease}.login-notificacao.erro{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.login-notificacao.sucesso{background-color:#ecfdf5;color:#059669;border:1px solid #a7f3d0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.registro-page{display:flex;height:100vh;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.registro-form-area{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:32px;background:#fff;overflow-y:auto}.registro-form-box{width:100%;max-width:520px;padding-bottom:40px}.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reg-erro-campo{display:block;font-size:11px;color:#ef4444;margin-top:4px}.reg-perfis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reg-perfil-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.reg-perfil-card.selecionado{border-color:#3b82f6;background:#eff6ff}.reg-perfil-radio{width:16px;height:16px;border-radius:50%;border:2px solid #d1d5db;flex-shrink:0;margin-top:2px;transition:border-color .15s,background .15s}.reg-perfil-card.selecionado .reg-perfil-radio{border-color:#3b82f6;background:#3b82f6;box-shadow:inset 0 0 0 3px #fff}.reg-perfil-label{font-size:13px;font-weight:500;color:#0f172a;margin:0 0 2px}.reg-perfil-desc{font-size:11px;color:#94a3b8;margin:0}@media (max-width: 768px){.login-visual{display:none}.registro-form-area{padding:24px 20px}.reg-row,.reg-perfis{grid-template-columns:1fr}}*{padding:0;margin:0;font-family:Arial,Helvetica,sans-serif}.dash-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.dash-metric{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;display:flex;align-items:center;gap:16px}.dash-metric-icone{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-metric-label{font-size:12px;color:#64748b;margin:0 0 4px}.dash-metric-valor{font-size:22px;font-weight:700;color:#0f172a;margin:0;line-height:1}.dash-metric-sub{font-size:11px;color:#94a3b8;margin:4px 0 0}.dash-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.dash-row-3{display:grid;grid-template-columns:1fr 380px;gap:14px;margin-bottom:20px}.dash-col-direita{display:flex;flex-direction:column;gap:14px}.dash-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px}.dash-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dash-card-titulo{font-size:14px;font-weight:200;color:#0f172a;margin:0}.dash-tabs{display:flex;gap:4px;background:#f1f5f9;border-radius:8px;padding:3px}.dash-tab{padding:4px 12px;border:none;border-radius:6px;font-size:12px;cursor:pointer;background:transparent;color:#64748b;transition:all .15s}.dash-tab.ativo{background:#fff;color:#0f172a;font-weight:500;box-shadow:0 1px 3px #0001}.dash-badge-azul{font-size:11px;font-weight:600;color:#3b82f6;background:#eff6ff;padding:3px 10px;border-radius:99px;display:flex;align-items:center;gap:5px}.dash-badge-azul:before{content:"";width:6px;height:6px;background:#3b82f6;border-radius:50%;animation:pulsar 1.5s ease-in-out infinite}@keyframes pulsar{0%,to{opacity:1}50%{opacity:.3}}.dash-link{display:flex;align-items:center;gap:2px;font-size:12px;color:#3b82f6;background:none;border:none;cursor:pointer;padding:0;transition:color .15s}.dash-link:hover{color:#1d4ed8}.dash-equipe-lista{display:flex;flex-direction:column;gap:4px}.dash-equipe-row{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:8px;cursor:pointer;transition:background .15s}.dash-equipe-row:hover{background:#f8fafc}.dash-equipe-avatar{width:34px;height:34px;border-radius:50%;background:#1d4ed8;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-equipe-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.dash-equipe-nome{font-size:13px;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-equipe-cargo{font-size:11px;color:#94a3b8}.dash-equipe-direita{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.dash-equipe-horas{font-size:11px;color:#94a3b8}.badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:99px}.badge-verde{background:#dcfce7;color:#166534}.badge-amarelo{background:#fef9c3;color:#854d0e}.badge-cinza{background:#f1f5f9;color:#475569}.badge-vermelho{background:#fee2e2;color:#991b1b}.dash-alertas-lista{display:flex;flex-direction:column;gap:8px}.dash-alerta-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;border-left:3px solid transparent}.dash-alerta-warning{background:#fffbeb;border-left-color:#f59e0b}.dash-alerta-danger{background:#fef2f2;border-left-color:#ef4444}.dash-alerta-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:4px}.dash-alerta-warning .dash-alerta-dot{background:#f59e0b}.dash-alerta-danger .dash-alerta-dot{background:#ef4444}.dash-alerta-info{display:flex;flex-direction:column;gap:2px}.dash-alerta-msg{font-size:12px;color:#1e293b;font-weight:500}.dash-alerta-tempo{font-size:11px;color:#94a3b8}.dash-apps-lista{display:flex;flex-direction:column;gap:10px}.dash-app-row{display:flex;align-items:center;gap:10px}.dash-app-nome{font-size:12px;color:#475569;width:70px;flex-shrink:0}.dash-app-barra-track{flex:1;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.dash-app-barra-fill{height:100%;border-radius:3px;transition:width .3s ease}.dash-app-pct{font-size:11px;font-weight:600;width:32px;text-align:right;flex-shrink:0}.dash-atalhos{display:flex;gap:12px}.dash-atalho{display:flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;color:#374151;cursor:pointer;transition:all .15s;font-weight:500}.dash-atalho:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}@media (max-width: 1100px){.dash-metrics-grid{grid-template-columns:repeat(2,1fr)}.dash-row-3{grid-template-columns:1fr}}@media (max-width: 768px){.dash-metrics-grid{grid-template-columns:1fr 1fr}.dash-row-2{grid-template-columns:1fr}.dash-atalhos{flex-direction:column}}
