/* DadosFuncionarios - Style */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI',system-ui,-apple-system,sans-serif; background:#f0f2f5; color:#1a1a2e; }

/* Landing */
.landing { min-height:100vh; }
.nav { display:flex; justify-content:space-between; align-items:center; padding:1rem 2rem; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.1); }
.nav .logo { font-size:1.3rem; font-weight:700; text-decoration:none; color:#1a1a2e; }
.nav-links a { text-decoration:none; margin-left:1rem; color:#555; font-weight:500; }
.nav-links .btn-primary { padding:.5rem 1.2rem; border-radius:8px; color:#fff; }

.hero { text-align:center; padding:4rem 2rem; max-width:800px; margin:0 auto; }
.hero h1 { font-size:2.5rem; margin-bottom:1rem; color:#1a1a2e; }
.hero p { font-size:1.2rem; color:#666; margin-bottom:2rem; }
.hero-cta { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

.features { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.5rem; max-width:1000px; margin:3rem auto; padding:0 2rem; }
.feature-card { background:#fff; padding:1.5rem; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.06); text-align:center; }
.feature-card h3 { margin-bottom:.5rem; }

.pricing { text-align:center; padding:3rem 2rem; background:#fff; }
.pricing h2 { margin-bottom:2rem; }
.plan-cards { display:flex; gap:1.5rem; justify-content:center; flex-wrap:wrap; max-width:700px; margin:0 auto; }
.plan-card { background:#fff; border:2px solid #e0e0e0; border-radius:16px; padding:2rem; width:280px; text-align:center; position:relative; }
.plan-card.featured { border-color:#4361ee; transform:scale(1.05); }
.plan-card .badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:#4361ee; color:#fff; padding:.3rem 1rem; border-radius:20px; font-size:.8rem; font-weight:600; }
.plan-card .price { font-size:2.5rem; font-weight:700; color:#1a1a2e; }
.plan-card .price small { font-size:1rem; font-weight:400; color:#999; }
.plan-card ul { list-style:none; margin:1.5rem 0; text-align:left; }
.plan-card ul li { padding:.4rem 0; border-bottom:1px solid #f0f0f0; }
.plan-card ul li:before { content:"✓ "; color:#4caf50; font-weight:bold; }
.trial-info { margin-top:1.5rem; color:#888; }

.footer { text-align:center; padding:2rem; color:#999; }
.footer a { color:#4361ee; text-decoration:none; }

/* Auth */
.auth-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:1rem; }
.auth-card { background:#fff; padding:2.5rem; border-radius:16px; box-shadow:0 4px 20px rgba(0,0,0,.1); width:100%; max-width:400px; }
.auth-card h1 { text-align:center; margin-bottom:.5rem; }
.auth-card h2 { text-align:center; margin-bottom:1.5rem; color:#555; }
.subtitle { text-align:center; color:#888; margin-bottom:1.5rem; font-size:.9rem; }
.auth-card input { width:100%; padding:.8rem 1rem; margin-bottom:.8rem; border:1px solid #ddd; border-radius:8px; font-size:1rem; transition:border .2s; }
.auth-card input:focus { border-color:#4361ee; outline:none; }
.auth-link { text-align:center; margin-top:1rem; }
.auth-link a { color:#4361ee; text-decoration:none; }
.error { color:#e53935; text-align:center; margin-top:.8rem; font-size:.9rem; min-height:1.2em; }
.success { color:#43a047; text-align:center; margin-top:.8rem; font-size:.9rem; min-height:1.2em; }

/* App Layout */
.app { display:flex; min-height:100vh; }
.sidebar { width:220px; background:#1a1a2e; color:#fff; padding:1rem 0; flex-shrink:0; }
.sidebar-logo { text-align:center; font-size:1.2rem; padding:1rem; border-bottom:1px solid rgba(255,255,255,.1); }
.sidebar nav a { display:block; padding:.8rem 1.5rem; color:rgba(255,255,255,.7); text-decoration:none; transition:all .2s; }
.sidebar nav a:hover, .sidebar nav a.active { background:rgba(67,97,238,.2); color:#fff; }
.content { flex:1; padding:2rem; overflow-x:auto; }

/* Trial Banner */
.trial-banner { background:#fff3cd; border:1px solid #ffeaa7; border-radius:8px; padding:1rem 1.5rem; margin-bottom:1.5rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.trial-banner p { margin:0; color:#856404; }

/* Stats */
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1rem; margin-bottom:2rem; }
.stat-card { background:#fff; padding:1.5rem; border-radius:12px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.stat-icon { font-size:2rem; display:block; }
.stat-value { font-size:2rem; font-weight:700; display:block; margin:.3rem 0; }
.stat-label { color:#888; font-size:.85rem; }

/* Dashboard sections */
.dashboard-section { background:#fff; border-radius:12px; padding:1.5rem; margin-bottom:1.5rem; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.dashboard-section h2 { margin-bottom:1rem; font-size:1.2rem; }

/* Alertas */
.alertas-list { display:flex; flex-direction:column; gap:.5rem; }
.alert-item { display:flex; align-items:center; gap:.8rem; padding:.8rem 1rem; border-radius:8px; }
.alert-overdue { background:#ffe0e0; border-left:4px solid #e53935; }
.alert-urgent { background:#fff3cd; border-left:4px solid #ff9800; }
.alert-soon { background:#e8f5e9; border-left:4px solid #4caf50; }
.alert-type { font-size:1.5rem; }
.alertas-full { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1rem; }
.alert-card { background:#fff; padding:1.2rem; border-radius:10px; display:flex; gap:1rem; box-shadow:0 2px 6px rgba(0,0,0,.05); }
.alert-card.alert-overdue { border-left:4px solid #e53935; }
.alert-card.alert-urgent { border-left:4px solid #ff9800; }
.alert-card.alert-soon { border-left:4px solid #4caf50; }
.alert-icon { font-size:2rem; }
.alert-info small { color:#999; }

/* Func list */
.func-item { display:flex; justify-content:space-between; padding:.8rem 1rem; border-bottom:1px solid #f0f0f0; }
.func-cargo { color:#888; font-size:.9rem; }

/* Filter bar */
.filter-bar { display:flex; gap:.5rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.filter-btn { padding:.5rem 1rem; border:1px solid #ddd; background:#fff; border-radius:8px; cursor:pointer; font-size:.9rem; }
.filter-btn.active { background:#4361ee; color:#fff; border-color:#4361ee; }

/* Tables */
.table { width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; }
.table th { background:#f5f5f5; padding:.8rem 1rem; text-align:left; font-size:.85rem; color:#666; }
.table td { padding:.8rem 1rem; border-bottom:1px solid #f0f0f0; }
.table tbody tr:hover { background:#f9f9f9; }

/* Page header */
.page-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.search-bar { margin-bottom:1rem; }
.search-bar input { width:100%; padding:.8rem 1rem; border:1px solid #ddd; border-radius:8px; font-size:1rem; }

/* Buttons */
.btn-primary { background:#4361ee; color:#fff; border:none; padding:.7rem 1.5rem; border-radius:8px; cursor:pointer; font-size:1rem; text-decoration:none; display:inline-block; }
.btn-primary:hover { background:#3a56d4; }
.btn-secondary { background:#e0e0e0; color:#333; border:none; padding:.7rem 1.5rem; border-radius:8px; cursor:pointer; font-size:1rem; text-decoration:none; display:inline-block; }
.btn-secondary:hover { background:#d0d0d0; }
.btn-lg { padding:1rem 2rem; font-size:1.1rem; }
.btn-sm { padding:.4rem .8rem; font-size:.85rem; border:none; border-radius:6px; cursor:pointer; background:#e0e0e0; }
.btn-danger { background:#e53935; color:#fff; }
.btn-block { width:100%; }

/* Badges */
.badge-active { background:#4caf50; color:#fff; padding:.2rem .6rem; border-radius:12px; font-size:.8rem; }
.badge-expired { background:#e53935; color:#fff; padding:.2rem .6rem; border-radius:12px; font-size:.8rem; }

/* Status box */
.status-box { margin-bottom:2rem; }
.status-trial { background:#e3f2fd; padding:1rem 1.5rem; border-radius:8px; border-left:4px solid #2196f3; }
.status-active { background:#e8f5e9; padding:1rem 1.5rem; border-radius:8px; border-left:4px solid #4caf50; }
.status-expired { background:#ffebee; padding:1rem 1.5rem; border-radius:8px; border-left:4px solid #e53935; }

/* Modal */
.modal { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; z-index:1000; }
.modal-content { background:#fff; border-radius:16px; padding:2rem; width:90%; max-width:500px; max-height:90vh; overflow-y:auto; }
.modal-large { max-width:700px; }
.modal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.modal-close { background:none; border:none; font-size:1.5rem; cursor:pointer; color:#999; }

/* Form tabs */
.form-tabs .tabs { display:flex; gap:.3rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.tab { padding:.5rem 1rem; border:1px solid #ddd; background:#f5f5f5; border-radius:8px; cursor:pointer; font-size:.85rem; }
.tab.active { background:#4361ee; color:#fff; border-color:#4361ee; }
.tab-content label { display:block; font-size:.85rem; color:#666; margin-bottom:.3rem; margin-top:.8rem; }
.tab-content input, .tab-content select, .tab-content textarea { width:100%; padding:.6rem .8rem; border:1px solid #ddd; border-radius:6px; font-size:.95rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-actions { display:flex; gap:1rem; justify-content:flex-end; margin-top:1.5rem; }

/* Deps */
.dep-item { display:flex; justify-content:space-between; align-items:center; padding:.5rem 0; border-bottom:1px solid #f0f0f0; }

/* Empty */
.empty { color:#999; text-align:center; padding:2rem; }
.empty a { color:#4361ee; text-decoration:none; }

/* Responsive */
@media (max-width: 768px) {
.sidebar { width:60px; }
.sidebar-logo { font-size:.8rem; }
.sidebar nav a { padding:.8rem .5rem; text-align:center; font-size:.7rem; }
.form-row { grid-template-columns:1fr; }
.hero h1 { font-size:1.8rem; }
.plan-card.featured { transform:none; }
}