:root{--font-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-main: #0b0f19;--bg-card: rgba(22, 28, 45, .6);--bg-sidebar: #0f1626;--border-color: rgba(255, 255, 255, .08);--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent-primary: #3b82f6;--accent-primary-hover: #2563eb;--accent-primary-glow: rgba(59, 130, 246, .25);--accent-success: #10b981;--accent-success-glow: rgba(16, 185, 129, .15);--accent-warning: #f59e0b;--accent-warning-glow: rgba(245, 158, 11, .15);--accent-danger: #ef4444;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .4);--glass-bg: rgba(22, 28, 45, .4);--glass-blur: blur(12px);--glass-border: rgba(255, 255, 255, .05);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--text-primary)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--text-primary)}input,select,textarea{font-family:var(--font-sans);background:#0f1626;border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:var(--radius-sm);outline:none;transition:all var(--transition-fast);width:100%}select option{background-color:#0f1626;color:var(--text-primary)}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);background:#161c2d}button{font-family:var(--font-sans);font-weight:500;cursor:pointer;border:none;outline:none;transition:all var(--transition-fast)}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);border-radius:var(--radius-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;padding:1.5rem;transition:all var(--transition-normal)}.sidebar-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem}.sidebar-logo{width:40px;height:40px;color:var(--accent-primary)}.sidebar-title{font-size:1.25rem;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.sidebar-menu{list-style:none;display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.menu-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500;transition:all var(--transition-fast);cursor:pointer}.menu-item:hover,.menu-item.active{color:var(--text-primary);background-color:#ffffff0d}.menu-item.active{border-left:3px solid var(--accent-primary);background-color:#3b82f614;color:var(--accent-primary)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border-color);padding-top:1rem;display:flex;align-items:center;justify-content:space-between}.user-info{display:flex;flex-direction:column}.user-name{font-size:.875rem;font-weight:600}.user-role{font-size:.75rem;color:var(--text-secondary);text-transform:capitalize}.btn-logout{color:var(--text-muted);background:transparent;padding:.5rem;border-radius:4px}.btn-logout:hover{color:var(--accent-danger);background:#ef44441a}.main-viewport{flex-grow:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow-y:auto}.header-bar{height:70px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;flex-shrink:0;background-color:#0b0f19cc;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:sticky;top:0;z-index:10}.content-body{padding:2rem;flex-grow:1}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{padding:1.5rem;display:flex;align-items:center;gap:1.25rem;position:relative;overflow:hidden}.stat-icon-container{width:50px;height:50px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-container.blue{background:#3b82f61a;color:var(--accent-primary)}.stat-icon-container.green{background:#10b9811a;color:var(--accent-success)}.stat-icon-container.yellow{background:#f59e0b1a;color:var(--accent-warning)}.stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-top:.25rem}.tabs-header{display:flex;gap:1rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.tab-button{padding:.75rem 1rem;background:transparent;color:var(--text-secondary);border-bottom:2px solid transparent;font-weight:500;transition:all var(--transition-fast)}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#161c2d33}table{width:100%;border-collapse:collapse;text-align:left}th{background-color:#ffffff05;color:var(--text-secondary);font-weight:600;padding:1rem;border-bottom:1px solid var(--border-color);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}td{padding:1rem;border-bottom:1px solid var(--border-color);font-size:.95rem;color:var(--text-secondary)}tr:last-child td{border-bottom:none}tr:hover td{background-color:#ffffff03;color:var(--text-primary)}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge.approved,.badge.active,.badge.paid{background-color:#10b9811a;color:var(--accent-success)}.badge.pending,.badge.on_leave{background-color:#f59e0b1a;color:var(--accent-warning)}.badge.deactivated,.badge.unpaid{background-color:#ef44441a;color:var(--accent-danger)}.badge.issued{background-color:#3b82f61a;color:var(--accent-primary)}.btn{padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background-color:var(--accent-primary);color:var(--text-primary)}.btn-primary:hover{background-color:var(--accent-primary-hover);box-shadow:0 0 12px var(--accent-primary-glow)}.btn-secondary{background-color:#ffffff0d;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:#ffffff14;color:var(--text-primary)}.btn-success{background-color:var(--accent-success);color:var(--text-primary)}.btn-success:hover{background-color:#059669}.btn-icon{padding:.5rem;border-radius:4px;color:var(--text-muted);background:transparent}.btn-icon:hover{color:var(--text-primary);background:#ffffff0d}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{width:100%;max-width:600px;max-height:90vh;overflow-y:auto;padding:2rem;position:relative}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.btn-close{background:transparent;color:var(--text-muted)}.btn-close:hover{color:var(--text-primary)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.stages-list{display:flex;flex-direction:column;gap:.75rem;max-width:500px}.draggable-stage-card{padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;background:#ffffff05;border:1px dashed var(--border-color);border-radius:var(--radius-sm);cursor:grab;transition:all var(--transition-fast)}.draggable-stage-card:active{cursor:grabbing}.draggable-stage-card:hover{background:#3b82f60d;border-color:var(--accent-primary)}.draggable-stage-card.dragging{opacity:.5;border-color:var(--accent-primary);background:#3b82f614}.drag-handle{display:flex;align-items:center;color:var(--text-muted);cursor:grab}@media print{body{background:#fff!important;color:#000!important;font-size:12pt}.no-print,.sidebar,.header-bar,.tab-button,.btn,button,input,select{display:none!important}.main-viewport{height:auto!important;overflow:visible!important}.content-body{padding:0!important}.print-card{border:1px solid #ccc!important;padding:2cm!important;max-width:21cm;margin:0 auto;background:transparent!important;box-shadow:none!important}.print-title{text-align:center;font-size:20pt;font-weight:700;border-bottom:2px solid black;padding-bottom:10px;margin-bottom:20px}.print-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.print-meta-label{font-weight:700}.print-table{width:100%!important;border-collapse:collapse!important;margin-top:20px}.print-table th,.print-table td{border:1px solid black!important;padding:8px!important;color:#000!important}.print-signatures{margin-top:50px;display:flex;justify-content:space-between}.print-signature-line{width:200px;border-top:1px solid black;text-align:center;padding-top:5px;font-size:10pt}.vehicle-report-print{background:#fff!important;color:#000!important;padding:1cm!important;box-shadow:none!important;border:none!important}.vehicle-report-print h2,.vehicle-report-print h3,.vehicle-report-print h4,.vehicle-report-print td,.vehicle-report-print th{color:#000!important;border-color:#000!important}}
