:root{--primary:#ca4d4d;--primary-hover:#b54242;--primary-light:#fdf2f1;--success:#2d8a56;--success-light:#f0f9f4;--warning:#c98a2e;--warning-light:#fdf8ef;--danger:#c42b2b;--danger-light:#fdf2f2;--text:#3d3733;--text-light:#7d756d;--text-heading:#2a2520;--bg:#faf8f5;--bg-white:#fff;--border:#e8e2dc;--border-light:#f2ede8;--shadow-sm:0 1px 2px #3d37330a;--shadow:0 1px 3px #3d37330f;--shadow-md:0 4px 12px #3d373314;--radius:12px;--sans:"Inter", system-ui, -apple-system, sans-serif;--serif:"DM Serif Display", "Georgia", serif;--mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}.app{min-height:100vh;display:flex}.sidebar{background:var(--bg-white);border-right:1px solid var(--border);flex-direction:column;width:240px;padding:24px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 20px 24px}.sidebar-logo h1{color:var(--primary);letter-spacing:-.3px;font-size:18px;font-weight:400;font-family:var(--serif)}.sidebar-logo span{color:var(--text-light);text-transform:uppercase;letter-spacing:1px;font-size:11px}.sidebar-nav{flex:1;padding:4px 12px;overflow-y:auto}.nav-group{margin-bottom:4px}.nav-group-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);opacity:.7;padding:12px 12px 4px;font-size:10px;font-weight:600}.nav-group:first-child .nav-group-title{padding-top:4px}.sidebar-nav a{color:var(--text);border-left:3px solid #0000;border-radius:8px;align-items:center;gap:10px;margin-left:-3px;padding:7px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar-nav a:hover{background:var(--border-light);color:var(--text-heading)}.sidebar-nav a.active{background:var(--primary-light);color:var(--primary);border-left-color:var(--primary);font-weight:600}.sidebar-nav a svg{opacity:.6;flex-shrink:0;width:18px;height:18px}.sidebar-nav a.active svg{opacity:1}.sidebar-nav a:hover svg{opacity:.9}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-light);padding:16px 20px;font-size:11px}.main-content{flex:1;max-width:1200px;margin-left:240px;padding:32px}h2{color:var(--text-heading);letter-spacing:-.3px;font-size:24px;font-weight:400;font-family:var(--serif)}h3{color:var(--text-heading);font-size:15px;font-weight:600}.page-header{margin-bottom:24px}.page-header p{color:var(--text-light);margin-top:4px}.card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.card-body{padding:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{padding:20px}.stat-card .stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-bottom:8px;font-size:12px;font-weight:600}.stat-card .stat-value{color:var(--text-heading);letter-spacing:-1px;font-size:28px;font-weight:700}.stat-card .stat-icon{border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:12px;display:flex}.stat-card .stat-icon.blue{background:var(--primary-light);color:var(--primary)}.stat-card .stat-icon.green{background:var(--success-light);color:var(--success)}.stat-card .stat-icon.amber{background:var(--warning-light);color:var(--warning)}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);border-bottom:1px solid var(--border);background:var(--border-light);padding:10px 16px;font-size:11px;font-weight:600}tbody td{border-bottom:1px solid var(--border-light);padding:12px 16px;font-size:13px}tbody tr:hover{background:var(--border-light)}tbody tr{cursor:pointer}.badge{border-radius:9999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.active{background:var(--success-light);color:var(--success)}.badge.terminated{background:var(--danger-light);color:var(--danger)}.badge.on_leave{background:var(--warning-light);color:var(--warning)}.badge.clt{background:var(--primary-light);color:var(--primary)}.badge.pj{color:#9333ea;background:#faf5ff}.badge.estagiario{color:#059669;background:#ecfdf5}.detail-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.detail-section{margin-bottom:20px}.detail-section h3{color:var(--text-heading);border-bottom:1px solid var(--border-light);margin-bottom:12px;padding-bottom:8px;font-size:14px;font-weight:600}.detail-row{justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.detail-row .label{color:var(--text-light)}.detail-row .value{color:var(--text-heading);font-weight:500}.timeline{padding:0;list-style:none}.timeline-item{border-bottom:1px solid var(--border-light);gap:16px;padding:16px 0;display:flex}.timeline-item:last-child{border-bottom:none}.timeline-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.timeline-dot.hire{background:var(--success)}.timeline-dot.terminate{background:var(--danger)}.timeline-dot.salary{background:var(--warning)}.timeline-content{flex:1}.timeline-content .event-type{color:var(--text-heading);font-size:13px;font-weight:600}.timeline-content .event-date{color:var(--text-light);margin-top:2px;font-size:11px}.timeline-content .event-data{color:var(--text);background:var(--border-light);font-size:12px;font-family:var(--mono);border-radius:6px;margin-top:6px;padding:8px 12px}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-input,.form-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);font-size:13px;font-family:var(--sans);color:var(--text);outline:none;padding:8px 14px;transition:border-color .2s,box-shadow .2s}.search-input{width:280px}.form-input{width:100%}.search-input:focus,.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #ca4d4d1f}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237d756d' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}textarea.form-input{resize:vertical;min-height:80px;line-height:1.5}.form-group{margin-bottom:14px}.form-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.form-label .required{color:var(--danger)}.form-input.error{border-color:var(--danger)}.form-input.error:focus{box-shadow:0 0 0 2px #c42b2b1f}.form-error{color:var(--danger);margin-top:4px;font-size:11px}.form-checkbox{cursor:pointer;color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.form-checkbox input[type=checkbox]{appearance:none;border:2px solid var(--border);background:var(--bg-white);cursor:pointer;border-radius:5px;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s;position:relative}.form-checkbox input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}.form-checkbox input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.form-checkbox input[type=checkbox]:focus-visible{box-shadow:0 0 0 2px #ca4d4d33}.file-trigger{border:1px dashed var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;background:var(--bg-white);align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.file-trigger:hover{border-color:var(--primary);background:var(--primary-light)}.btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 2px 8px #ca4d4d40}.btn-secondary{background:var(--bg-white);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border-light)}.back-link{color:var(--text-light);align-items:center;gap:4px;margin-bottom:16px;font-size:13px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--primary)}.dept-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.dept-card{padding:20px}.dept-card .dept-name{color:var(--text-heading);font-size:15px;font-weight:600}.dept-card .dept-code{color:var(--text-light);background:var(--border-light);border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px;font-weight:600}.dept-card .dept-headcount{color:var(--text-heading);margin-top:12px;font-size:24px;font-weight:700}.dept-card .dept-headcount-label{color:var(--text-light);font-size:12px}.spinner-container{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}.spinner-label{color:var(--text-light);font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--border-light) 25%, var(--bg) 50%, var(--border-light) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text:last-child{width:60%}.skeleton-heading{border-radius:6px;width:200px;height:24px;margin-bottom:16px}.skeleton-card{border-radius:var(--radius);height:88px}.skeleton-row{border-radius:4px;height:44px;margin-bottom:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column-reverse;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);box-shadow:var(--shadow-md), 0 0 0 1px #0000000a;pointer-events:auto;background:var(--bg-white);min-width:300px;max-width:420px;color:var(--text);border-left:4px solid var(--border);align-items:flex-start;gap:10px;padding:12px 16px;font-size:13px;line-height:1.4;animation:.3s ease-out toast-in;display:flex}.toast.toast-exit{animation:.2s ease-in forwards toast-out}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}.toast.info{border-left-color:var(--primary)}.toast-icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.toast.success .toast-icon{color:var(--success)}.toast.error .toast-icon{color:var(--danger)}.toast.warning .toast-icon{color:var(--warning)}.toast.info .toast-icon{color:var(--primary)}.toast-body{flex:1}.toast-title{color:var(--text-heading);margin-bottom:2px;font-weight:600}.toast-message{color:var(--text-light)}.toast-close{color:var(--text-light);cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px;line-height:1;transition:opacity .15s}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media print{body{background:#fff!important}.sidebar,.toast-container{display:none!important}.main-content{max-width:none!important;margin-left:0!important;padding:16px!important}.toolbar,.back-link,.btn,.no-print{display:none!important}.card{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important}table{font-size:11px}thead th{background:#f5f5f5!important}.stats-grid,.detail-grid,.dept-grid{break-inside:avoid}.badge{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid}}
