:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#e9ecef;--text-primary:#212529;--text-secondary:#6c757d;--border-color:#dee2e6;--shadow-color:#0000001a;--shadow-hover:#00000026;--card-bg:#fff;--input-bg:#fff;--input-text:#212529;--input-border:#ced4da;--table-border:#dee2e6;--table-hover:#f8f9fa;--modal-overlay:#00000080;--primary-color:#2563eb;--primary-hover:#1d4ed8;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-secondary:linear-gradient(135deg,#f093fb,#f5576c)}[data-theme=dark]{--bg-primary:#0d0d0d;--bg-secondary:#121212;--bg-tertiary:#1e1e1e;--text-primary:#f5f5f5;--text-secondary:#b0b0b0;--border-color:#3a3a3a;--shadow-color:#0009;--shadow-hover:#000c;--card-bg:#1e1e1e;--input-bg:#2d2d2d;--input-text:#f5f5f5;--input-border:#4a4a4a;--table-border:#3a3a3a;--table-hover:#2d2d2d;--modal-overlay:#000000d9;--primary-color:#3b82f6;--primary-hover:#2563eb;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-secondary:linear-gradient(135deg,#fa709a,#fee140)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--bg-secondary);color:#212529;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.change-password-modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.change-password-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.change-password-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:20px}.change-password-header h2{align-items:center;color:#333;display:flex;font-size:1.5rem;gap:10px;margin:0}.warning-icon{animation:pulse 2s infinite;font-size:1.8rem}.close-button{color:#666;transition:background-color .2s}.close-button:hover{background-color:#e0e0e0}.first-login-notice{background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin:20px 20px 10px;padding:15px}.first-login-notice p{color:#856404;margin:0 0 10px}.first-login-notice p:last-child{margin-bottom:0}.change-password-form{padding:20px}.form-group .hint{color:#666;font-size:.9rem;font-weight:400}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:10px 45px 10px 12px;transition:border-color .2s;width:100%}.password-input-wrapper input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.password-input-wrapper input:disabled{background-color:#f5f5f5;cursor:not-allowed}.toggle-password{background:none;border:none;cursor:pointer;font-size:1.2rem;opacity:.6;padding:5px;position:absolute;right:8px;transition:opacity .2s}.toggle-password:hover{opacity:1}.password-hint{color:#666;display:block;font-size:.85rem;margin-top:5px}.form-actions{margin-top:25px}.form-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:12px 20px;transition:all .2s}.btn-primary{background-color:#2196f3}.btn-primary:hover:not(:disabled){background-color:#1976d2}.btn-primary:disabled{background-color:#b3d9f2}.btn-secondary{background-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-secondary:disabled{background-color:#c6c8ca}.security-tips{background-color:#e7f3ff;border-radius:0 0 8px 8px;border-top:1px solid #b3d9f2;padding:20px}.security-tips h3{color:#0c5460;font-size:1rem;margin:0 0 15px}.security-tips ul{color:#0c5460;margin:0;padding-left:20px}.security-tips li{margin-bottom:8px}.security-tips li:last-child{margin-bottom:0}@media (prefers-color-scheme:dark){.change-password-modal{background:#2d2d2d;color:#e0e0e0}.change-password-header{background-color:#1f1f1f;border-bottom-color:#444}.change-password-header h2{color:#e0e0e0}.password-input-wrapper input{background-color:#1f1f1f;border-color:#444;color:#e0e0e0}.password-input-wrapper input:focus{border-color:#2196f3}}@media (max-width:600px){.change-password-modal{max-height:95vh;width:95%}.change-password-header h2{font-size:1.2rem}.form-actions{flex-direction:column}.form-actions button{width:100%}}.App{background:linear-gradient(135deg,#f0f9ff,#ecfdf5);color:var(--text-primary);min-height:100vh;transition:background-color .3s ease,color .3s ease}[data-theme=dark] .App{background:linear-gradient(135deg,#1e293b,#1f2937)}.container{margin:0 auto;max-width:1600px;padding:20px}.card{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:20px;padding:24px;transition:all .3s ease}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}[data-theme=dark] .card{background:var(--card-bg);border:1px solid #374151}.btn{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn:hover{background-color:var(--bg-secondary);border-color:var(--text-secondary)}.btn-primary{background:linear-gradient(90deg,#10b981,#0ea5e9);box-shadow:0 2px 4px #0000001a}.btn-primary:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-success{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 2px 4px #0000001a}.btn-success:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-danger{background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:0 2px 4px #0000001a}.btn-danger:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-secondary{background:linear-gradient(90deg,#6b7280,#4b5563);box-shadow:0 2px 4px #0000001a}.btn-secondary:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.form-group label{line-height:1.5;margin-top:8px}input,select,textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;transition:all .2s}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--input-bg)!important;border:1px solid var(--input-border)!important;color:var(--input-text)!important}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:1px solid #d1d5db;color:#1f2937;padding:10px 16px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background-color:var(--input-bg);border-color:var(--input-border);color:var(--input-text)}[data-theme=dark] select{background-color:#2d2d2d!important;border-color:#4a4a4a!important;color:#f5f5f5!important}[data-theme=dark] select:focus{border-color:#007bff!important;outline:none}select option{background-color:var(--input-bg);color:var(--input-text);padding:8px}[data-theme=dark] select option{background-color:#2d2d2d;color:#f5f5f5}.form-group select option{background-color:var(--input-bg);color:var(--input-text)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:grey;opacity:1}[data-theme=dark] input:disabled,[data-theme=dark] select:disabled,[data-theme=dark] textarea:disabled{background-color:#1a1a1a!important;color:grey!important;opacity:.6}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:active,.form-group input:-webkit-autofill:focus,.form-group input:-webkit-autofill:hover,input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:var(--input-text)!important;box-shadow:0 0 0 1000px var(--input-bg) inset!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.error{color:#dc3545}.error,.success{font-size:14px;margin-top:5px}.success{color:#28a745}.navbar{align-items:center;background:linear-gradient(135deg,#10b981,#0ea5e9);box-shadow:0 4px 6px -1px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:16px 24px;transition:all .3s ease}.navbar:hover{box-shadow:0 10px 15px -3px #0000001a}.navbar h1{font-size:24px}.navbar-right{align-items:center;display:flex;gap:20px;margin-right:70px}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--table-border);padding:12px;text-align:left;transition:background-color .2s}.table th{background-color:var(--bg-tertiary);font-weight:600}.table tr:hover{background-color:var(--table-hover)}.modal-overlay{background-color:var(--modal-overlay)}.modal{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;padding:32px;transition:all .3s ease;width:90%}[data-theme=dark] .modal{background:var(--card-bg);border:1px solid #374151}.modal h2{color:var(--text-primary);margin-bottom:20px}.modal-actions{margin-top:20px}.stats-grid{grid-gap:20px;gap:20px;margin-bottom:30px}.dashboard-tabs{-webkit-overflow-scrolling:touch;border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:20px;overflow-x:auto}[data-theme=dark] .dashboard-tabs{border-bottom-color:var(--border-color)}.dashboard-tab{fontSize:16px;background:#0000;border:none;border-bottom:3px solid #0000;color:#333;cursor:pointer;font-weight:400;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.dashboard-tab:hover{background-color:#007bff1a}.dashboard-tab.active{background:#007bff;border-bottom-color:#007bff;color:#fff;font-weight:700}[data-theme=dark] .dashboard-tab{color:var(--text-primary)}[data-theme=dark] .dashboard-tab:hover{background-color:var(--bg-tertiary)}[data-theme=dark] .dashboard-tab.active{background:var(--primary-color);border-bottom-color:var(--primary-color);color:#fff}.status-badge{fontSize:12px;border-radius:4px;padding:4px 8px}.status-badge.approved{background-color:#d4edda;color:#155724}.status-badge.rejected{background-color:#f8d7da;color:#721c24}.status-badge.pending{background-color:#fff3cd;color:#856404}[data-theme=dark] .status-badge.approved{background-color:#155724;color:#d4edda}[data-theme=dark] .status-badge.rejected{background-color:#721c24;color:#f8d7da}[data-theme=dark] .status-badge.pending{background-color:#856404;color:#fff3cd}.status-badge.status-in-stock{background-color:#d4edda;color:#155724}.status-badge.status-low-stock{background-color:#fff3cd;color:#856404}.status-badge.status-out-of-stock{background-color:#f8d7da;color:#721c24}[data-theme=dark] .status-badge.status-in-stock{background-color:#155724;color:#d4edda}[data-theme=dark] .status-badge.status-low-stock{background-color:#856404;color:#fff3cd}[data-theme=dark] .status-badge.status-out-of-stock{background-color:#721c24;color:#f8d7da}.hint-text{color:#666;font-size:14px;margin-bottom:10px}[data-theme=dark] .hint-text{color:var(--text-secondary)}.alert-count{color:#f44}[data-theme=dark] .alert-count{color:#ff6b6b}.stat-card{background:linear-gradient(135deg,#10b981,#0ea5e9);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#fff;padding:24px;transition:all .2s ease}.stat-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px)}[data-theme=dark] .stat-card{background:var(--card-bg)!important;border:1px solid var(--border-color);box-shadow:0 4px 12px #0009}[data-theme=dark] .stat-card .stat-title,[data-theme=dark] .stat-card h3{color:var(--text-primary)!important;opacity:.9;text-shadow:none}[data-theme=dark] .stat-card .value{color:var(--text-primary)!important;text-shadow:none}[data-theme=dark] .btn-success{background-color:#22c55e;border-color:#22c55e}[data-theme=dark] .btn-success:hover{background-color:#16a34a;border-color:#16a34a}[data-theme=dark] .btn-danger{background-color:#ef4444}[data-theme=dark] .btn-danger:hover{background-color:#dc2626}.stat-card h3{color:#fff;letter-spacing:.5px;margin-bottom:10px;opacity:1;text-shadow:0 2px 4px #0006}.stat-card .value{color:#fff;font-size:32px;font-weight:700;text-shadow:0 2px 6px #00000080}.clock-status{align-items:center;background-color:#f3f4f6;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:inline-flex;gap:12px;margin-bottom:20px;padding:16px 24px;transition:all .3s ease}.clock-status.clocked-in{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;color:#065f46}.clock-status.on-pause{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#92400e}[data-theme=dark] .clock-status{background-color:var(--bg-tertiary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important}[data-theme=dark] .clock-status.clocked-in{background:#065f46!important;border:1px solid #10b981!important;color:#d1fae5!important}[data-theme=dark] .clock-status.on-pause{background:#92400e!important;border:1px solid #f59e0b!important;color:#fef3c7!important}.status-indicator{animation:pulse 2s infinite;background-color:currentColor;border-radius:50%;height:12px;width:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.container{margin:0 auto;padding:10px}.card{border-radius:8px;padding:15px}.navbar{flex-direction:column;gap:10px;padding:10px}.navbar h1{font-size:18px}.navbar-right{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center;margin-right:0;width:100%}.navbar-right button,.navbar-right span{flex:0 1 auto;font-size:14px;text-align:center}.btn{font-size:16px;min-height:44px;padding:12px 16px}.btn-small{font-size:14px;min-height:36px;padding:8px 12px}.table-container{-webkit-overflow-scrolling:touch;margin:0 -10px;overflow-x:auto;padding:0 10px}.table{min-width:600px}.table td,.table th{font-size:14px;padding:8px}.stats-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.modal{border-radius:12px;max-height:95vh;padding:20px;width:95%}.modal h2{font-size:20px}.modal-actions{flex-direction:column;gap:8px}.modal-actions button{width:100%}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:12px}.tab-navigation{-webkit-overflow-scrolling:touch;border-bottom:1px solid #ddd;display:flex;gap:0;margin-bottom:15px;overflow-x:auto}.tab-navigation button{font-size:14px;min-width:auto;padding:12px 16px;white-space:nowrap}.clock-status{font-size:14px;gap:8px;padding:12px 16px}}.tab-label-mobile{display:none}.tab-label-desktop{display:inline}@media (max-width:768px){.tab-label-mobile{display:inline}.tab-label-desktop{display:none}}.stat-card h3.stat-title{font-size:14px}@media (max-width:480px){.stat-card h3.stat-title{font-size:11px;margin-bottom:8px}.stat-card .value{font-size:24px}.stat-card{padding:16px}.navbar h1{font-size:16px}.btn{font-size:14px;padding:10px 14px}.table td,.table th{font-size:12px;padding:6px}.stat-card .value{font-size:24px}.modal{padding:15px}}.data-table-wrapper{-webkit-overflow-scrolling:touch;margin:0 -15px;overflow-x:auto;padding:0 15px}.data-table{background:var(--card-bg);border-collapse:collapse;font-size:14px;white-space:nowrap;width:100%}.data-table thead{background:var(--bg-secondary);position:-webkit-sticky;position:sticky;top:0;z-index:10}.data-table th{border-bottom:2px solid var(--table-border);color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid var(--table-border);color:var(--text-primary);padding:12px 16px;vertical-align:middle}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover{background-color:var(--table-hover)}.data-table tbody tr:last-child td{border-bottom:none}.btn-sm{font-size:12px}@media (max-width:768px){.data-table-wrapper{margin:0 -10px;padding:0 10px}.data-table{font-size:12px}.data-table td,.data-table th{padding:8px 12px}}@media (hover:none){.btn:active{transform:scale(.98)}.table tr:active{background-color:var(--table-hover)}}.news-widget{border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}[data-theme=dark] .news-widget{background:var(--card-bg);border:1px solid #374151}.news-widget .card-header{background:linear-gradient(135deg,#3b82f6,#2563eb);border-bottom:none;color:#fff;padding:1rem 1.25rem}[data-theme=dark] .news-widget .card-header{background:linear-gradient(135deg,#1e40af,#1e3a8a)}.news-widget .card-header h5{font-size:1.1rem;font-weight:600;margin:0}.news-widget .card-header .btn-link{color:#fff;padding:.25rem .5rem;text-decoration:none;transition:opacity .2s}.news-widget .card-header .btn-link:hover{opacity:.8}.news-list{max-height:600px;overflow-y:auto}.news-item{border-bottom:1px solid #e5e7eb;cursor:pointer;padding:1rem 1.25rem;position:relative;transition:background-color .2s}[data-theme=dark] .news-item{border-bottom:1px solid #374151}.news-item:last-child{border-bottom:none}.news-item:hover{background-color:#f9fafb}[data-theme=dark] .news-item:hover{background-color:#1f2937}.news-item.unread{background-color:#eff6ff;border-left:4px solid #3b82f6}[data-theme=dark] .news-item.unread{background-color:#1e3a8a;border-left:4px solid #60a5fa}.news-item.pinned{background-color:#fef3c7;border-left:4px solid #f59e0b}[data-theme=dark] .news-item.pinned{background-color:#78350f;border-left:4px solid #fbbf24}.news-item.pinned.unread{background:linear-gradient(90deg,#fef3c7 0,#eff6ff);border-left:4px solid #3b82f6}[data-theme=dark] .news-item.pinned.unread{background:linear-gradient(90deg,#78350f 0,#1e3a8a);border-left:4px solid #60a5fa}.news-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.news-source-name{color:#6b7280;font-size:.875rem;font-weight:600}[data-theme=dark] .news-source-name{color:#9ca3af}.news-item-title{color:#111827;font-size:1rem;font-weight:600;line-height:1.4;margin-bottom:.5rem}[data-theme=dark] .news-item-title{color:#f3f4f6}.news-item-image{border-radius:8px;max-height:200px;overflow:hidden}.news-item-image img{height:auto;max-height:200px;object-fit:cover;width:100%}.news-item-content{color:#4b5563;font-size:.875rem;line-height:1.6;margin-bottom:.75rem}[data-theme=dark] .news-item-content{color:#d1d5db}.news-item-content p{margin-bottom:.5rem}.news-item-content p:last-child{margin-bottom:0}.news-item-footer{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-top:.75rem}.news-item-actions{align-items:center;display:flex;gap:1rem}.news-item-actions .btn-link{color:#3b82f6;font-size:.875rem;padding:0;text-decoration:none;transition:color .2s}.news-item-actions .btn-link:hover{color:#2563eb;text-decoration:underline}[data-theme=dark] .news-item-actions .btn-link{color:#60a5fa}[data-theme=dark] .news-item-actions .btn-link:hover{color:#93c5fd}.news-item-tags{display:flex;flex-wrap:wrap;gap:.5rem}.news-item-tags .badge{font-size:.75rem;font-weight:500}.news-list::-webkit-scrollbar{width:8px}.news-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}[data-theme=dark] .news-list::-webkit-scrollbar-track{background:#1f2937}.news-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}[data-theme=dark] .news-list::-webkit-scrollbar-thumb{background:#4b5563}.news-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}[data-theme=dark] .news-list::-webkit-scrollbar-thumb:hover{background:#6b7280}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{z-index:3}.react-grid-item.react-grid-placeholder{background:red}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.modal-overlay{background-color:#000000bf}.modal-content{background:var(--card-bg);box-shadow:0 8px 32px var(--shadow-color);color:var(--text-primary);padding:30px;transition:background-color .3s ease}[data-theme=dark] .modal-content{background:#1e1e1e;border:1px solid #3a3a3a}.pdf-report-modal{max-width:700px}.close-button{background:none;color:#999;font-size:2rem;height:30px;padding:0;transition:color .2s;width:30px}.close-button:hover{color:#333}.user-info{background:#f5f5f5;border-radius:6px;margin-bottom:20px;padding:15px}.user-info h3{color:#333;margin:0 0 5px}.user-info p{color:#666;font-size:.9rem;margin:3px 0}.quick-select-buttons{margin-bottom:20px}.quick-select-buttons h4{color:#333;font-size:1rem;margin:0 0 10px}.button-group{display:flex;flex-wrap:wrap;gap:8px}.quick-select-btn{background:#e3f2fd;border:1px solid #2196f3;border-radius:4px;color:#1976d2;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s}.quick-select-btn:hover{background:#2196f3;color:#fff}.date-range-inputs{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:10px;transition:border-color .2s}.form-input:focus{border-color:#2196f3;outline:none}.options{background:#f9f9f9;border-radius:6px;margin-bottom:20px;padding:15px}.checkbox-label input[type=checkbox]{margin-right:10px}.checkbox-label span{color:#333;font-size:.95rem}.report-info{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:6px;margin-bottom:20px;padding:15px}.report-info h4{color:#2e7d32;font-size:1rem;margin:0 0 10px}.report-info ul{margin:0;padding-left:20px}.report-info li{color:#333;font-size:.9rem;line-height:1.4;margin-bottom:6px}.error-message{background:#ffebee;border-left:4px solid #f44336;color:#c62828}.modal-footer{border-top:1px solid #e0e0e0;gap:10px}.btn{font-size:1rem}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#f5f5f5}.btn-secondary:hover:not(:disabled){background:#e0e0e0}@media (max-width:600px){.date-range-inputs{grid-template-columns:1fr}.button-group{flex-direction:column}.quick-select-btn{width:100%}.modal-content{max-height:95vh;width:95%}}@media print{body *{visibility:hidden!important}.MuiDialog-root,.MuiDialog-root *{visibility:visible!important}.MuiBackdrop-root,.MuiDialogActions-root,.MuiDialogTitle-root,.no-print{display:none!important;visibility:hidden!important}.print-only{display:block!important;visibility:visible!important}.MuiDialog-root{background:#fff!important;left:0!important;margin:0!important;overflow:visible!important;padding:0!important;position:absolute!important;top:0!important}.MuiDialog-container,.MuiDialog-root{height:auto!important;width:100%!important}.MuiDialog-container{display:block!important;position:static!important}.MuiDialog-paper{border-radius:0!important;box-shadow:none!important;margin:0!important;max-height:none!important;max-width:100%!important;overflow:visible!important;position:static!important;width:100%!important}.MuiDialogContent-root{overflow:visible!important;padding:20mm!important}.MuiDialogContent-root,.MuiDialogContent-root *{visibility:visible!important}table{page-break-inside:avoid}.MuiDivider-root,.MuiTypography-h6,h6{page-break-after:avoid}@page{size:A4 portrait;margin:8mm}}.dashboard-grid-container{background:#f5f5f5;background:var(--background-color,#f5f5f5);padding:20px;width:100%}.dashboard-toolbar{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.dashboard-toolbar h1{color:#333;color:var(--text-color,#333);font-size:24px;margin:0}.dashboard-toolbar-actions{align-items:center;display:flex;gap:10px}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.static{background:#cce}.react-grid-item .text{bottom:0;font-size:24px;height:24px;left:0;margin:auto;position:absolute;right:0;text-align:center;top:0}.react-grid-item .minMax{font-size:12px}.react-grid-item .add{cursor:pointer}.react-grid-item.react-draggable-dragging{opacity:.9;transition:none;will-change:transform;z-index:100}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:#007bff;border-radius:8px;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item>.react-resizable-handle{bottom:0;cursor:se-resize;height:20px;position:absolute;right:0;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.dashboard-widget{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:box-shadow .2s ease}.dashboard-widget:hover{box-shadow:0 4px 12px #00000026}.widget-header{background:#fafafa;border-bottom:1px solid #e0e0e0;cursor:move;justify-content:space-between;padding:15px 20px;-webkit-user-select:none;user-select:none}.widget-header,.widget-title{align-items:center;display:flex}.widget-title{color:#333;color:var(--text-color,#333);font-size:16px;font-weight:600;gap:8px;margin:0}.widget-icon{font-size:18px}.widget-actions{align-items:center;display:flex;gap:8px}.widget-settings-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px 8px;transition:background .2s ease}.widget-settings-btn:hover{background:#0000000d}.widget-content{flex:1 1;overflow-y:auto;padding:20px}.widget-content::-webkit-scrollbar{width:8px}.widget-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.widget-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.widget-content::-webkit-scrollbar-thumb:hover{background:#555}.widget-empty-state{align-items:center;color:#999;display:flex;flex-direction:column;height:100%;justify-content:center;padding:20px;text-align:center}.widget-empty-state-icon{font-size:48px;margin-bottom:10px;opacity:.5}.widget-loading{align-items:center;color:#666;display:flex;height:100%;justify-content:center}.widget-error{background:#ffebee;border-radius:4px;color:#d32f2f;margin:10px;padding:20px}.dashboard-widget.compact .widget-content{padding:10px}.dashboard-widget.compact .widget-header{padding:10px 15px}.dark-mode .dashboard-grid-container{background:#1e1e1e}.dark-mode .dashboard-toolbar,.dark-mode .dashboard-widget{background:#2d2d2d;color:#e0e0e0}.dark-mode .widget-header{background:#252525;border-bottom-color:#444}.dark-mode .widget-settings-btn:hover{background:#ffffff1a}@media (max-width:768px){.dashboard-grid-container{padding:10px}.dashboard-toolbar{align-items:stretch;flex-direction:column;gap:10px}.widget-content{padding:15px}}.widget-settings-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.widget-settings-content{background:#fff;border-radius:8px;max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.dark-mode .widget-settings-content{background:#2d2d2d;color:#e0e0e0}.widget-settings-list{list-style:none;margin:20px 0;padding:0}.widget-settings-item{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:15px}.dark-mode .widget-settings-item{border-bottom-color:#444}.widget-settings-item:last-child{border-bottom:none}.widget-toggle{height:26px;position:relative;width:50px}.widget-toggle input{height:0;opacity:0;width:0}.widget-toggle-slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.widget-toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:18px;left:4px;position:absolute;transition:.4s;width:18px}.widget-toggle input:checked+.widget-toggle-slider{background-color:#007bff}.widget-toggle input:checked+.widget-toggle-slider:before{transform:translateX(24px)}.dark-mode .widget-toggle-slider{background-color:#555}.widget-selection-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));padding:10px 0}.widget-selection-card{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .2s ease}.widget-selection-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.widget-selection-icon{font-size:48px;line-height:1}.widget-selection-title{color:#333;font-size:16px;font-weight:600;text-align:center}.widget-selection-action,.widget-selection-action .btn{width:100%}.widget-header-actions{align-items:center;display:flex;gap:8px}.widget-remove-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#dc3545;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;opacity:.7;padding:0;transition:all .2s ease;width:24px}.widget-remove-btn:hover{background:#dc3545;color:#fff;opacity:1}.dark-mode .widget-selection-card{background:#2a2a2a;border-color:#444}.dark-mode .widget-selection-card:hover{border-color:#007bff}.dark-mode .widget-selection-title{color:#e0e0e0}.clock-widget-content{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;padding:20px;text-align:center}.clock-greeting{font-size:18px;font-weight:500;letter-spacing:2px;margin-bottom:15px;opacity:.9;text-transform:uppercase}.clock-time{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:72px;font-weight:700;letter-spacing:2px;line-height:1;margin:20px 0;text-shadow:0 2px 10px #0003}.clock-date{font-size:20px;font-weight:400;margin-top:15px;opacity:.95;text-transform:capitalize}.clock-week{background:#fff3;border-radius:20px;font-size:14px;margin-top:15px;opacity:.9;padding:8px 16px}@media (max-width:768px){.clock-time{font-size:48px}.clock-date{font-size:16px}.clock-greeting{font-size:14px}}.dark-mode .clock-widget-content{background:linear-gradient(135deg,#1a1a2e,#16213e)}.budget-widget-content{max-height:100%;overflow-y:auto}.budget-list{display:flex;flex-direction:column;gap:16px}.budget-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px;transition:all .2s ease}.budget-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.budget-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.budget-project-name{color:var(--text-primary);font-size:14px;font-weight:600}.budget-status{border-radius:4px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.budget-status.status-ok{background:#d4edda;color:#155724}.budget-status.status-warning{background:#fff3cd;color:#856404}.budget-status.status-critical{background:#f8d7da;color:#721c24}.budget-status.status-danger{background:#dc3545;color:#fff}.budget-bar-container{background:var(--bg-secondary);border-radius:12px;height:24px;margin:8px 0;overflow:hidden;position:relative;width:100%}.budget-bar-fill{border-radius:12px;height:100%;transition:width .3s ease}.budget-bar-text{color:var(--text-primary);font-size:12px;font-weight:700;left:50%;position:absolute;text-shadow:0 0 4px #fffc;top:50%;transform:translate(-50%,-50%)}.budget-amounts{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:8px}.budget-amount{display:flex;flex-direction:column;gap:2px}.budget-label{color:var(--text-secondary);font-size:11px;font-weight:500}.budget-value{color:var(--text-primary);font-size:13px;font-weight:600}.budget-value.negative{color:#dc3545}[data-theme=dark] .budget-item{background:#2a2a2a;border-color:#444}[data-theme=dark] .budget-status.status-ok{background:#1e4620;color:#7bc67e}[data-theme=dark] .budget-status.status-warning{background:#665a2b;color:#ffc107}[data-theme=dark] .budget-status.status-critical{background:#5a2026;color:#f8a5ac}.notes-widget-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.notes-add-btn{align-items:center;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-bottom:12px;padding:10px 16px;transition:all .2s ease}.notes-add-btn:hover{background:var(--primary-hover);box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.notes-add-form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;padding:12px}.notes-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:14px;margin-bottom:8px;min-height:60px;padding:10px;resize:vertical;width:100%}.notes-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4a90e21a;outline:none}.notes-form-actions{display:flex;gap:8px;justify-content:flex-end}.notes-list{flex:1 1;gap:12px;overflow-y:auto}.notes-empty,.notes-list{display:flex;flex-direction:column}.notes-empty{align-items:center;color:var(--text-secondary);height:100%;justify-content:center;padding:2rem;text-align:center}.notes-empty svg{margin-bottom:12px;opacity:.4}.notes-empty p{font-weight:500;margin:8px 0 4px}.notes-empty small{font-size:12px;opacity:.7}.note-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px;transition:all .2s ease}.note-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.note-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.note-date{color:var(--text-secondary);font-size:11px;font-weight:500}.note-delete-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.note-delete-btn:hover{background:#fee;color:#dc3545}.note-content{color:var(--text-primary);font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}[data-theme=dark] .note-item,[data-theme=dark] .notes-add-form{background:#2a2a2a;border-color:#444}[data-theme=dark] .note-delete-btn:hover{background:#4a1f1f;color:#ff6b6b}.weather-widget-content{display:flex;flex-direction:column;height:100%;overflow-y:auto}.weather-location{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.weather-location-display{align-items:center;border-radius:6px;cursor:pointer;display:flex;flex:1 1;gap:6px;padding:4px 8px;transition:background .2s}.weather-location-display:hover{background:var(--bg-secondary)}.weather-location-display span{color:var(--text-primary);font-size:14px;font-weight:600}.weather-location-edit{display:flex;flex:1 1;gap:6px}.weather-location-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:13px;padding:6px 10px}.weather-location-input:focus{border-color:var(--primary-color);outline:none}.weather-refresh-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;padding:6px;transition:all .2s}.weather-refresh-btn:hover{background:var(--bg-secondary);color:var(--primary-color)}.weather-current{align-items:center;display:flex;flex-direction:column;padding:12px 0}.weather-icon{margin-bottom:8px}.weather-temp{color:var(--text-primary);font-size:44px;font-weight:700;line-height:1;margin-bottom:4px}.weather-description{color:var(--text-secondary);font-size:15px;font-weight:500;margin-bottom:4px}.weather-feels-like{display:flex;font-size:13px;gap:10px}.weather-feels-like,.weather-trend{align-items:center;color:var(--text-secondary)}.weather-trend{display:inline-flex;font-size:12px;gap:4px}.weather-details-grid{grid-gap:10px;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:14px 0}.weather-detail-card{align-items:center;background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-radius:8px;display:flex;gap:10px;padding:10px}.weather-detail-info{display:flex;flex-direction:column}.weather-detail-value{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.2}.weather-detail-label{font-size:11px}.weather-detail-label,.weather-detail-sub{color:var(--text-secondary);line-height:1.2}.weather-detail-sub{font-size:10px;opacity:.8}.weather-temp-chart{margin-bottom:14px}.weather-temp-chart-header{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;font-weight:600;gap:6px;margin-bottom:10px}.weather-temp-chart-bars{align-items:flex-end;display:flex;gap:4px;height:80px;justify-content:space-between}.weather-chart-bar-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.weather-chart-bar-value{color:var(--text-primary);font-size:10px;font-weight:600;margin-bottom:4px;white-space:nowrap}.weather-chart-bar-wrap{align-items:flex-end;display:flex;flex:1 1;justify-content:center;width:100%}.weather-chart-bar{background:linear-gradient(0deg,#4a90e2,#74b9ff);border-radius:3px 3px 0 0;min-height:4px;transition:height .3s ease;width:70%}.weather-chart-bar-label{color:var(--text-secondary);font-size:10px;margin-top:4px;white-space:nowrap}.weather-forecast-section{margin-top:0}.weather-forecast-header{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.weather-forecast-extended{display:flex;flex-direction:column;gap:6px}.weather-forecast-row{align-items:center;background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-radius:8px;display:flex;gap:10px;padding:8px 10px;transition:transform .2s}.weather-forecast-row:hover{transform:translateX(2px)}.forecast-row-day{color:var(--text-primary);flex-shrink:0;font-size:13px;font-weight:600;width:55px}.forecast-row-icon{display:flex;flex-shrink:0;justify-content:center;width:28px}.forecast-row-precip{flex-shrink:0;width:50px}.forecast-precip-badge{align-items:center;color:#4a90e2;display:inline-flex;font-size:11px;font-weight:500;gap:3px}.forecast-row-temps{align-items:center;display:flex;flex:1 1;gap:8px}.forecast-temp-min{color:var(--text-secondary);text-align:right}.forecast-temp-max,.forecast-temp-min{flex-shrink:0;font-size:13px;width:28px}.forecast-temp-max{color:var(--text-primary);font-weight:600}.forecast-temp-bar-wrap{background:#e0e0e0;background:var(--border-color,#e0e0e0);border-radius:3px;flex:1 1;height:6px;min-width:40px;position:relative}.forecast-temp-bar{background:linear-gradient(90deg,#74b9ff,#e17055);border-radius:3px;height:100%;min-width:8px;position:absolute;top:0}[data-theme=dark] .weather-detail-card,[data-theme=dark] .weather-forecast-row{background:#2a2a2a}[data-theme=dark] .weather-chart-bar{background:linear-gradient(0deg,#3498db,#74b9ff)}[data-theme=dark] .forecast-temp-bar-wrap{background:#444}@media (max-width:768px){.weather-temp{font-size:36px}.weather-details-grid{grid-template-columns:1fr}}.approval-status{align-items:center;border-radius:16px;display:inline-flex;font-size:.875rem;font-weight:500;gap:6px;padding:4px 12px;white-space:nowrap}.approval-status-small{font-size:.75rem;gap:4px;padding:2px 8px}.approval-status-large{font-size:1rem;gap:8px;padding:6px 16px}.approval-status-icon{font-size:1em}.approval-status-label{line-height:1}.status-draft{background-color:#f0f0f0;color:#666}.status-pending{background-color:#fff4e6;color:#d97706}.status-approved{background-color:#d1fae5}.status-rejected{background-color:#fee2e2}.status-published{background-color:#dbeafe;color:#2563eb}.status-archived{background-color:#e7e5e4;color:#78716c}body.dark-mode .status-draft{background-color:#374151;color:#9ca3af}body.dark-mode .status-pending{background-color:#422006;color:#fbbf24}body.dark-mode .status-approved{background-color:#064e3b;color:#34d399}body.dark-mode .status-rejected{background-color:#450a0a;color:#f87171}body.dark-mode .status-published{background-color:#1e3a8a;color:#60a5fa}body.dark-mode .status-archived{background-color:#292524;color:#a8a29e}.bauhaus-clock{align-items:center;background:linear-gradient(135deg,#f5f5f0,#e8e8e0);border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:center;padding:10px;width:100%}.bauhaus-clock-canvas{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));height:auto;max-height:100%;max-width:100%;width:auto}.vacation-planner{display:flex;flex-direction:column;height:100%;padding:0}.vp-table-wrapper{-webkit-overflow-scrolling:touch;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;flex:1 1;margin-bottom:16px;max-height:calc(100vh - 400px);overflow:auto}[data-theme=dark] .vp-table-wrapper{background:#1e1e1e;border-color:#3a3a3a}.vp-table{border-collapse:collapse;font-size:12px;min-width:100%;width:-webkit-max-content;width:max-content}.vp-table td,.vp-table th{border:1px solid var(--border-color);color:var(--text-primary);max-width:22px;min-width:22px;padding:2px 4px;text-align:center}[data-theme=dark] .vp-table td,[data-theme=dark] .vp-table th{border-color:#3a3a3a}.vp-table th{background:var(--bg-secondary);font-weight:700;position:-webkit-sticky;position:sticky;top:0;z-index:1}[data-theme=dark] .vp-table th{background:#252525}.vp-user{background:var(--bg-secondary);color:var(--text-primary);font-weight:700;left:0;min-width:120px;position:-webkit-sticky;position:sticky;z-index:2}[data-theme=dark] .vp-user{background:#252525}.vp-day-header{background:#fafafa;color:#bbb}.vp-absent{border:1px solid #bbb;color:#fff;cursor:pointer}.vp-legend{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-top:12px}.vp-legend span{white-space:nowrap}@media (max-width:768px){.vacation-planner{padding:0}.vp-table-wrapper{border-radius:4px;max-height:calc(100vh - 450px)}.vp-table{font-size:10px}.vp-table td,.vp-table th{max-width:18px;min-width:18px;padding:1px 2px}.vp-user{min-width:100px}.vp-legend,.vp-user{font-size:11px}.vp-legend span{font-size:10px;padding:2px 6px!important}.vp-filters{flex-direction:column!important;gap:10px!important}.vp-filters>div{width:100%}.vp-filters input,.vp-filters select{font-size:16px;width:100%!important}.vp-filters label{display:block;margin-bottom:4px}.vp-filters button{margin-left:0!important;width:100%}}@media (max-width:480px){.vp-table{font-size:9px}.vp-table td,.vp-table th{max-width:16px;min-width:16px;padding:1px}.vp-user{min-width:80px}.vp-legend,.vp-user{font-size:10px}}.invoice-preview{background:var(--bg-secondary);border-radius:8px;color:var(--text-primary);flex:1 1;max-height:calc(90vh - 100px);overflow-y:auto;padding:20px}[data-theme=dark] .invoice-preview{background:#121212}.preview-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}[data-theme=dark] .preview-header{border-bottom-color:#3a3a3a}.preview-header h3{color:var(--text-primary);font-size:18px;margin:0}.preview-label{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:12px;padding:4px 12px}[data-theme=dark] .preview-label{background:#252525;border-color:#3a3a3a}.preview-page{max-width:600px;min-height:600px}.logo-container{border:2px dashed #0000;position:relative;transition:border-color .2s}.logo-container:hover{background:#3b82f60d;border-color:#3b82f6}.logo-container.dragging{background:#2563eb1a;border-color:#2563eb;box-shadow:0 4px 12px #2563eb4d}.logo-hint{bottom:-20px;color:#6b7280;font-size:10px;left:0;opacity:0;pointer-events:none;position:absolute;right:0;text-align:center;transition:opacity .2s}.logo-container:hover .logo-hint{opacity:1}.resize-handle{background:#3b82f6;border:2px solid #fff;border-radius:50%;bottom:-4px;cursor:nwse-resize;height:12px;opacity:0;position:absolute;right:-4px;transition:opacity .2s;width:12px}.logo-container:hover .resize-handle{opacity:1}@media (max-width:768px){.preview-page{font-size:11px;padding:20px}.preview-items{font-size:9px}.logo-container{max-width:120px!important}}.logo-upload{margin-bottom:16px}.logo-preview{background:var(--card-bg);border:2px solid var(--border-color);padding:16px;position:relative}[data-theme=dark] .logo-preview{background:#1e1e1e;border-color:#3a3a3a}.logo-preview img{margin:0 auto 12px;max-height:100px;max-width:200px;object-fit:contain}.logo-actions{display:flex;gap:8px;justify-content:center}.logo-actions button{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:13px;padding:6px 16px;transition:all .2s}[data-theme=dark] .logo-actions button{background:#252525;border-color:#3a3a3a}.btn-change:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.btn-remove:hover{background:#fee;border-color:#ef4444;color:#ef4444}.logo-dropzone{background:var(--card-bg);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;padding:32px 16px;text-align:center;transition:all .2s}[data-theme=dark] .logo-dropzone{background:#1e1e1e;border-color:#4a4a4a}.logo-dropzone.drag-over,.logo-dropzone:hover{background:var(--bg-secondary);border-color:var(--primary-color)}[data-theme=dark] .logo-dropzone.drag-over,[data-theme=dark] .logo-dropzone:hover{background:#252525;border-color:#4a9eff}.upload-icon{color:#9ca3af;display:block;height:48px;margin:0 auto 12px;width:48px}.logo-dropzone.drag-over .upload-icon,.logo-dropzone:hover .upload-icon{color:#3b82f6}.upload-text{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:4px}.upload-hint{color:#6b7280;display:block;font-size:12px}.uploading{align-items:center;display:flex;flex-direction:column;gap:12px}.spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;height:32px;width:32px}.uploading span{color:#6b7280;font-size:14px}.upload-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00;font-size:13px;margin-top:8px;padding:8px 12px}.invoice-template-editor{align-items:center;background:var(--modal-overlay);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.editor-content-split{display:flex;flex-direction:column;max-width:1400px;overflow:hidden}.editor-content,.editor-content-split{background:var(--card-bg);border-radius:12px;box-shadow:0 20px 60px var(--shadow-color);margin:auto;max-height:90vh;transition:background-color .3s ease;width:100%}.editor-content{color:var(--text-primary);max-width:900px;overflow-y:auto;padding:32px}.editor-header{align-items:center;background:var(--bg-tertiary);border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;padding:24px 32px;transition:background-color .3s ease,border-color .3s ease}.editor-header h2{color:var(--text-primary);font-size:24px;margin:0}.split-container{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr;height:calc(90vh - 80px);overflow:hidden}.editor-panel{background:var(--card-bg);border-right:2px solid var(--border-color);overflow-y:auto;padding:32px;transition:background-color .3s ease,border-color .3s ease}.preview-panel{background:var(--bg-tertiary);overflow-y:auto;padding:20px;transition:background-color .3s ease}.btn-close{line-height:1;padding:4px 8px}.alert-success{background-color:#efe;border:1px solid #cfc;color:#060}.template-basics{margin-bottom:24px}.form-group input[type=email],.form-group input[type=text],.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.form-group input[type=email]:focus,.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#2563eb;outline:none}.form-group small{color:#6b7280}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;margin-right:8px;width:18px}.tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px}.tabs button{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:all .2s}.tabs button:hover{color:#2563eb}.tabs button.active{border-bottom-color:#2563eb;color:#2563eb}.tab-content{min-height:400px}.tab-pane h3{color:#111827;font-size:18px;margin:0 0 20px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.color-picker-group{align-items:center;display:flex;gap:12px}.color-picker-group input[type=color]{border:1px solid #d1d5db;border-radius:6px;cursor:pointer;height:40px;width:60px}.color-picker-group input[type=text]{flex:1 1}.form-actions{border-top:1px solid #e5e7eb;margin-top:32px;padding-top:24px}.btn-primary:disabled{background-color:#93c5fd}@media (max-width:1200px){.split-container{grid-template-columns:1fr;height:auto}.editor-panel{border-bottom:2px solid #e5e7eb;border-right:none}.preview-panel{min-height:500px}}@media (max-width:768px){.invoice-template-editor{padding:10px}.editor-content-split{border-radius:8px}.editor-header{padding:16px}.editor-header h2{font-size:20px}.editor-panel{padding:16px}.form-grid{grid-template-columns:1fr}.tabs{overflow-x:auto;white-space:nowrap}.tabs button{font-size:13px;padding:10px 16px}}.template-workflow-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.template-workflow-modal{background:var(--card-background);border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.template-workflow-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px}.template-workflow-header h2{color:var(--text-primary);font-size:20px;margin:0}.btn-close{color:var(--text-secondary)}.btn-close:hover{background:var(--hover-background);color:var(--text-primary)}.template-workflow-content{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-columns:1fr 1fr;overflow-y:auto;padding:24px}.template-workflow-section{display:flex;flex-direction:column;gap:16px}.template-workflow-section h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.workflow-list{display:flex;flex-direction:column;gap:8px}.workflow-item{align-items:center;background:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s}.workflow-item.assigned{border-left:3px solid var(--primary-color)}.workflow-item.disabled{opacity:.5}.workflow-item:hover:not(.disabled){box-shadow:0 2px 8px #0000001a}.workflow-order{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:28px;justify-content:center;width:28px}.workflow-info{flex:1 1;min-width:0}.workflow-name{color:var(--text-primary);font-size:14px;font-weight:500;margin-bottom:2px}.workflow-meta{color:var(--text-secondary);font-size:12px}.workflow-actions{flex-shrink:0;gap:4px}.btn-icon:hover:not(:disabled){background:var(--hover-background)}.btn-icon:disabled{cursor:not-allowed;opacity:.3}.btn-icon.btn-danger:hover:not(:disabled){background:#dc35451a}.btn-sm{border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;white-space:nowrap}.btn-primary:hover:not(:disabled){background:var(--primary-color-dark)}.btn-primary:disabled{opacity:.5}.btn-secondary{background:#0000;border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--hover-background)}.template-workflow-footer{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding:16px 24px}.empty-message{color:var(--text-secondary);font-size:14px;padding:20px;text-align:center}@media (max-width:768px){.template-workflow-content{grid-template-columns:1fr}.template-workflow-modal{max-height:95vh;width:95%}.template-workflow-content,.template-workflow-footer,.template-workflow-header{padding:16px}}.invoice-preview-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:2000}.invoice-preview-modal .modal-content{background:var(--card-bg);border-radius:12px;box-shadow:0 20px 60px var(--shadow-color);color:var(--text-primary);display:flex;flex-direction:column;height:90vh;margin:auto;max-width:1200px;width:100%}[data-theme=dark] .invoice-preview-modal .modal-content{background:#1e1e1e;border:1px solid #3a3a3a}.invoice-preview-modal .modal-header{align-items:center;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 30px}[data-theme=dark] .invoice-preview-modal .modal-header{background:#252525;border-bottom-color:#3a3a3a}.pdf-container{background:#525659;flex:1 1;overflow:hidden}.invoice-preview-modal .modal-header h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.invoice-preview-modal .header-actions{align-items:center;display:flex;gap:10px}.invoice-preview-modal .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.invoice-preview-modal .btn-primary{background-color:#2563eb;color:#fff}.invoice-preview-modal .btn-primary:hover{background-color:#1d4ed8}.invoice-preview-modal .btn-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px}.invoice-preview-modal .btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.preview-container{background:var(--bg-secondary);flex:1 1;overflow-y:auto;padding:30px}[data-theme=dark] .preview-container{background:#121212}.preview-page{background:#fff;border-radius:4px;box-shadow:0 4px 12px #0000001a;margin:0 auto;max-width:700px;min-height:1100px;padding:40px;position:relative}.logo-static,.logo-static img{pointer-events:none}.preview-header-text{background:#00000005;border-left:3px solid;font-size:12px;font-weight:600;margin-bottom:20px;padding:10px}.preview-company{line-height:1.6;margin-bottom:30px}.preview-customer{background:#f9fafb;border-radius:4px;font-size:11px;line-height:1.6;padding:15px;white-space:pre-wrap}.preview-customer,.preview-details{margin-bottom:20px}.preview-title{font-size:24px;font-weight:700;margin:20px 0}.preview-intro{color:#374151;line-height:1.6;margin-bottom:15px}.preview-items{border-collapse:collapse;font-size:10px;margin-top:15px}.preview-items td,.preview-items th{border:1px solid #e5e7eb}.preview-items thead tr{font-weight:600}.preview-items tbody tr:hover{background:#f9fafb}.preview-payment{background:#fffbeb;border-left:3px solid #f59e0b}.preview-payment,.preview-payment-info{border-radius:4px;line-height:1.6;padding:12px}.preview-payment-info{background:#f0f9ff;border-left:3px solid #0ea5e9}.preview-notes{background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;line-height:1.6;padding:12px}.preview-footer,.preview-tax-id{text-align:center}.preview-tax-id{font-style:italic}.loading{padding:40px}@media print{body *{visibility:hidden!important}.invoice-preview-modal,.invoice-preview-modal *{visibility:visible!important}.btn,.btn-close,.header-actions,.modal-header,.no-print{display:none!important;visibility:hidden!important}.invoice-preview-modal{background:#fff!important;height:auto!important;left:0!important;margin:0!important;overflow:visible!important;padding:0!important;position:absolute!important;top:0!important;width:100%!important}.invoice-preview-modal .modal-content{border-radius:0!important;box-shadow:none!important;margin:0!important;max-height:none!important;max-width:100%!important;overflow:visible!important}.preview-container{background:#fff!important;padding:0!important}.preview-page{border-radius:0!important;box-shadow:none!important;margin:0!important;max-width:100%!important;min-height:auto!important;padding:20mm!important}.print-page{page-break-after:always}.preview-items tbody tr:hover{background:#0000!important}.preview-page,.preview-page *{visibility:visible!important}}@media (max-width:768px){.invoice-preview-modal .modal-content{border-radius:8px}.invoice-preview-modal .modal-header{padding:16px}.invoice-preview-modal .modal-header h2{font-size:18px}.preview-container{padding:15px}.preview-page{font-size:11px;padding:20px}.preview-items{font-size:9px}.preview-title{font-size:20px}}.business-report-container{background:#f3f4f6;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.report-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding-bottom:20px}.report-header h2{color:#1f2937;font-weight:700;margin:0}.report-actions{gap:20px}.date-filters,.report-actions{align-items:center;display:flex}.date-filters{gap:15px}.date-filters label{color:#4b5563;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:5px}.date-filters input[type=date]{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:14px;padding:8px 12px;transition:border-color .2s ease}.date-filters input[type=date]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.executive-summary{background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:12px;box-shadow:0 4px 20px #4facfe4d;color:#003d5c;margin-bottom:30px;padding:30px}.executive-summary h3{color:#003d5c;font-size:24px;font-weight:600;margin-bottom:25px;margin-top:0}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.metric-card{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid #ffffff80;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;gap:15px;padding:20px;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.metric-card:hover{background:#fffffff2;box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.metric-content{flex:1 1}.metric-value{color:#06c;font-size:28px;font-weight:700;line-height:1.2;margin-bottom:5px}.metric-label{color:#003d5c;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;opacity:.8;text-transform:uppercase}.metric-detail{color:#004d66;display:flex;flex-direction:column;font-size:12px;gap:4px;opacity:.75}.metric-detail .positive{color:#0d9488;font-weight:600}.metric-detail .negative{color:#dc2626;font-weight:600}.report-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:25px}.report-section h3{border-bottom:2px solid #3b82f6;color:#1f2937;font-size:20px;font-weight:600;margin-bottom:20px;margin-top:0;padding-bottom:10px}.report-section h4{color:#4b5563;font-size:16px;font-weight:500;margin-bottom:15px;margin-top:0}.chart-row{display:flex;flex-wrap:wrap;gap:20px}.chart-container{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;min-width:300px;padding:15px}.error-message{background:#fef2f2;box-shadow:0 2px 8px #dc26261a;color:#991b1b}.report-footer{background:#fff;border-radius:8px;border-top:2px solid #e5e7eb;color:#6b7280;font-size:14px;margin-top:40px;padding:30px 20px;text-align:center}.report-footer p{margin:5px 0}@media print{.no-print{display:none!important}.business-report-container{background:#fff;max-width:100%;padding:0}.executive-summary{background:linear-gradient(135deg,#4facfe,#00f2fe)!important;color:#003d5c!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.metric-card{background:#ffffffe6!important}.metric-card,.report-section{border:1px solid #ddd;box-shadow:none}.chart-container,.report-section{page-break-inside:avoid}}[data-theme=dark] .business-report-container{background:#1a1a1a}[data-theme=dark] .report-header{border-bottom-color:#404040}[data-theme=dark] .report-header h2{color:#e0e0e0}[data-theme=dark] .executive-summary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 20px #667eea4d;color:#fff}[data-theme=dark] .executive-summary h3{color:#fff}[data-theme=dark] .metric-card{background:#ffffff26;border:1px solid #fff3}[data-theme=dark] .metric-card:hover{background:#fff3}[data-theme=dark] .metric-value{color:#fff}[data-theme=dark] .metric-label{color:#ffffffe6}[data-theme=dark] .metric-detail{color:#ffffffd9}[data-theme=dark] .metric-detail .positive{color:#a5f3a5}[data-theme=dark] .metric-detail .negative{color:#ffb3b3}[data-theme=dark] .report-section{background:#2d2d2d;border-color:#404040;color:#e0e0e0}[data-theme=dark] .report-section h3{border-bottom-color:#667eea;color:#e0e0e0}[data-theme=dark] .report-section h4{color:#b0b0b0}[data-theme=dark] .chart-container{background:#383838;border-color:#404040}[data-theme=dark] .date-filters label{color:#b0b0b0}[data-theme=dark] .date-filters input[type=date]{background:#2d2d2d;border-color:#555;color:#e0e0e0}[data-theme=dark] .date-filters input[type=date]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33}[data-theme=dark] .report-footer{background:#2d2d2d;border-top-color:#404040;color:#b0b0b0}[data-theme=dark] .error-message{background:#3d1f1f;border-left-color:#dc2626;color:#ffb3b3}.spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;height:40px;margin:0 auto 20px;width:40px}.time-bookings-report{padding:20px}.summary-item:nth-child(5){background:linear-gradient(135deg,#fa709a,#fee140)}.bookings-table,.summary-table{border-collapse:collapse;font-size:14px;width:100%}.bookings-table th,.summary-table th{background:#f8f9fa;border-bottom:2px solid #ecf0f1;color:#2c3e50;font-weight:600;padding:12px;text-align:left;white-space:nowrap}.bookings-table td,.summary-table td{border-bottom:1px solid #ecf0f1;padding:12px}.bookings-table tbody tr:hover,.summary-table tbody tr:hover{background:#f8f9fa}.empty-state p{.ont-size:16px;fcharts-section{grid-template-columns:1fr}.chart-card{min-height:350px}}@media (max-width:768px){.filter-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.summary-value{font-size:24px}.view-mode-selector{flex-direction:column;gap:5px}.view-mode-selector button{border-bottom:1px solid #ecf0f1;border-left:3px solid #0000;text-align:left;width:100%}.view-mode-selector button.active{border-bottom-color:#ecf0f1;border-left-color:#3498db}.table-container{overflow-x:scroll}.bookings-table,.summary-table{font-size:12px}.bookings-table td,.bookings-table th,.charts-section .summary-table td,.summary-table th{padding:8px}}@media print{.filter-section,.view-mode-selector{display:none}.card{border:1px solid #ddd;box-shadow:none}}.user-time-bookings-report{padding:20px}.report-header{margin-bottom:30px}.report-header h2{color:#2c3e50;font-size:28px;margin:0 0 10px}.report-description{color:#7f8c8d;font-size:14px;margin:0}.filter-section{margin-bottom:30px}.filter-section h3{color:#2c3e50;font-size:18px;margin:0 0 20px}.filter-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:20px}.filter-group label{color:#2c3e50;font-size:14px;font-weight:600;margin-bottom:8px}.filter-group input[type=date],.filter-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;transition:border-color .2s}.filter-group input[type=date]:focus,.filter-group select:focus{border-color:#3498db;outline:none}.date-range{align-items:center;display:flex;gap:10px;margin-bottom:10px}.date-range span{color:#7f8c8d;font-size:14px}.quick-select-buttons{display:flex;flex-wrap:wrap;gap:8px}.quick-select-buttons button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.quick-select-buttons button:hover{background:#f8f9fa;border-color:#3498db;color:#3498db}.filter-actions{border-top:1px solid #ecf0f1;display:flex;gap:15px;padding-top:20px}.error-message{background:#fee;color:#c00;margin-top:15px;padding:12px}.user-info-section{margin-bottom:30px}.user-info-section h3{color:#2c3e50;font-size:18px;margin:0 0 20px}.user-info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{gap:5px}.info-label{color:#7f8c8d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#2c3e50;font-size:15px;font-weight:500}.summary-section{margin-bottom:30px}.summary-section h3{color:#2c3e50;font-size:18px;margin:0 0 20px}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-item{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:20px;text-align:center}.summary-item:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-item:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.summary-item:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.summary-label{font-size:13px;letter-spacing:.5px;margin-bottom:8px;opacity:.9;text-transform:uppercase}.summary-value{font-size:28px;font-weight:700}.charts-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));margin-bottom:30px}.chart-card{min-height:450px}.chart-card h3{font-size:18px}.view-mode-selector{border-bottom:2px solid #ecf0f1;display:flex;gap:10px;margin-bottom:30px;padding-bottom:0}.view-mode-selector button{background:#0000;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;position:relative;transition:all .2s}.view-mode-selector button:hover{color:#3498db}.view-mode-selector button.active{border-bottom-color:#3498db;color:#3498db}.daily-breakdown-item{border:1px solid #ecf0f1;border-radius:8px;margin-bottom:30px;overflow:hidden}.daily-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.daily-date{font-size:16px;font-weight:600}.daily-hours{font-size:18px;font-weight:700}.daily-entries{padding:0}.entries-table{border-collapse:collapse;font-size:14px;width:100%}.entries-table th{background:#f8f9fa;border-bottom:2px solid #ecf0f1;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.entries-table td{border-bottom:1px solid #ecf0f1;padding:12px}.entries-table tbody tr:hover{background:#f8f9fa}.table-container{margin-top:20px;overflow-x:auto}.summary-table{border-collapse:collapse;font-size:14px;width:100%}.summary-table th{background:#f8f9fa;border-bottom:2px solid #ecf0f1;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.summary-table td{border-bottom:1px solid #ecf0f1;padding:12px}.summary-table tbody tr:hover{background:#f8f9fa}.hours-cell{color:#3498db;font-weight:600;white-space:nowrap}.description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.percentage-bar{background:#ecf0f1;border-radius:4px;height:24px;overflow:hidden;position:relative}.percentage-fill{background:linear-gradient(90deg,#3498db,#2980b9);height:100%;position:absolute;transition:width .3s ease}.percentage-text{align-items:center;color:#2c3e50;display:flex;font-size:12px;font-weight:600;height:100%;justify-content:center;position:relative;z-index:1}.empty-state{color:#7f8c8d;padding:60px 20px}.empty-state p{margin:0}@mecharts-section{grid-template-columns:1fr}.chart-card{min-height:350px}.dia(max-width: 768px){.filter-grid,.user-info-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.summary-value{font-size:24px}.view-mode-selector{flex-direction:column;gap:5px}.view-mode-selector button{border-bottom:1px solid #ecf0f1;border-left:3px solid #0000;text-align:left;width:100%}.view-mode-selector button.active{border-bottom-color:#ecf0f1;border-left-color:#3498db}.daily-header{align-items:flex-start;flex-direction:column;gap:10px}.table-container{overflow-x:scroll}.entries-table,.summary-table{font-size:12px}.charts-section .summary-table td,.entries-table td,.entries-table th,.summary-table th{padding:8px}}@media print{.filter-section,.view-mode-selector{display:none}.card{border:1px solid #ddd;box-shadow:none}.daily-breakdown-item{page-break-inside:avoid}}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.node-workflow-editor{background:#f5f5f5;display:flex;flex-direction:column;height:calc(100vh - 100px)}.workflow-editor-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:20px}.workflow-header-info{flex:1 1}.workflow-header-info h2{color:#333;margin:0 0 10px}.workflow-basic-inputs{align-items:center;display:flex;gap:15px}.workflow-name-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;max-width:400px;padding:8px 12px}.workflow-active-toggle{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.workflow-editor-actions{display:flex;gap:10px}.btn-info{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.btn-info:hover:not(:disabled){background:#138496}.btn-info:disabled{cursor:not-allowed;opacity:.6}.workflow-editor-content{display:flex;flex:1 1;overflow:hidden}.workflow-sidebar{background:#fff;border-right:1px solid #e0e0e0;box-shadow:2px 0 4px #0000000d;overflow-y:auto;padding:20px;width:300px}.workflow-sidebar h3{color:#333;font-size:16px;font-weight:600;margin:0 0 15px}.node-palette{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}.palette-node{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:grab;display:flex;gap:12px;padding:12px;transition:all .2s}.palette-node:hover{background:#e3f2fd;border-color:#2196f3;box-shadow:0 2px 8px #2196f333;transform:translateX(5px)}.palette-node:active{cursor:grabbing}.node-icon{font-size:24px;text-align:center;width:32px}.node-info{flex:1 1}.node-label{color:#333;font-size:14px;font-weight:600;margin-bottom:2px}.node-description{color:#666;font-size:12px}.workflow-description textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;resize:vertical;width:100%}.workflow-canvas-wrapper{background:#fafafa;flex:1 1;position:relative}.node-properties-panel{background:#fff;border-left:1px solid #e0e0e0;box-shadow:-2px 0 4px #0000000d;display:flex;flex-direction:column;width:350px}.panel-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.panel-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.btn-close{font-size:20px;padding:5px 10px}.btn-close:hover{background:#e0e0e0}.panel-content{flex:1 1;overflow-y:auto;padding:20px}.node-properties{display:flex;flex-direction:column;gap:15px}.node-type-badge{background:#2196f3;border-radius:4px;color:#fff;display:inline-block;font-size:14px;font-weight:600;margin-bottom:10px;padding:8px 12px}.form-group{gap:8px}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:8px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3}.user-selection{background:#f9f9f9;border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto;padding:10px}.user-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px;transition:background .2s}.user-checkbox:hover{background:#e3f2fd}.user-checkbox input[type=checkbox]{cursor:pointer}.checkbox-label{font-size:14px;font-weight:400!important;gap:8px}.node-actions{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px}.btn-block{width:100%}.btn-danger{background:#f44336;font-size:14px;font-weight:600;transition:all .2s}.btn-danger:hover{background:#d32f2f;box-shadow:0 2px 8px #f443364d}.btn-primary:hover:not(:disabled){background:#1976d2;box-shadow:0 2px 8px #2196f34d}.btn-secondary{color:#666}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#999}.btn-secondary:disabled{opacity:.5}.react-flow__node{border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:box-shadow .2s}.react-flow__node:hover{box-shadow:0 4px 16px #00000026}.react-flow__node.selected{box-shadow:0 4px 16px #2196f366}.react-flow__edge.selected .react-flow__edge-path{stroke:#2196f3;stroke-width:3}.react-flow__controls{border-radius:8px;box-shadow:0 2px 8px #00000026;overflow:hidden}.react-flow__controls button{border-bottom:1px solid #e0e0e0}.react-flow__controls button:hover{background:#e3f2fd}.react-flow__minimap{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a}.custom-node{background:#fff;border:2px solid #ddd;border-radius:8px;font-size:13px;min-width:200px;overflow:hidden;transition:all .2s}.custom-node:hover{border-color:#2196f3}.custom-node.selected{border-color:#2196f3;box-shadow:0 4px 16px #2196f34d}.node-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 12px}.node-icon{font-size:18px}.node-title{flex:1 1}.node-content{padding:12px}.node-name{color:#333;font-weight:600;margin-bottom:8px;word-break:break-word}.node-info{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.info-badge{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px}.node-detail{background:#f5f5f5;border-radius:4px;color:#666;font-size:12px;margin-top:8px;padding:8px;word-break:break-word}.approval-node .node-header{background:linear-gradient(135deg,#4caf50,#45a049)}.email-node .node-header{background:linear-gradient(135deg,#ff9800,#f57c00)}.condition-node .node-header{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.date-condition-node .node-header{background:linear-gradient(135deg,#2196f3,#1976d2)}.value-condition-node .node-header{background:linear-gradient(135deg,#4caf50,#388e3c)}.condition-expression{background:#f5f5f5;border-radius:4px;display:flex;flex-direction:column;font-size:12px;gap:4px;margin-top:8px;padding:8px}.condition-field{color:#1976d2;font-weight:600}.condition-operator{color:#666;font-size:16px;font-weight:600}.condition-value{color:#4caf50;font-weight:600}.delay-node .node-header{background:linear-gradient(135deg,#607d8b,#455a64)}.notification-node .node-header{background:linear-gradient(135deg,#ffc107,#ffa000)}.message-dialog-node .node-header{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.logic-node .node-header{background:linear-gradient(135deg,#00bcd4,#0097a7)}.logic-node .node-content{text-align:center}.start-node{border:3px solid #4caf50;box-shadow:0 4px 16px #4caf504d}.start-node .node-header{background:linear-gradient(135deg,#4caf50,#45a049);font-weight:700}.start-node .node-content{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);text-align:center}.end-node{border:3px solid #f44336;box-shadow:0 4px 16px #f443364d}.end-node .node-header{background:linear-gradient(135deg,#f44336,#d32f2f);font-weight:700}.end-node .node-content{background:linear-gradient(135deg,#ffebee,#ffcdd2);text-align:center}.logic-type{margin:10px 0}.logic-badge{border-radius:20px;color:#fff;display:inline-block;font-size:16px;font-weight:700;padding:6px 16px}.logic-badge.logic-and{background:linear-gradient(135deg,#4caf50,#45a049)}.logic-badge.logic-or{background:linear-gradient(135deg,#ff9800,#f57c00)}.custom-handle{background:#fff;border:2px solid #2196f3;height:12px;transition:all .2s;width:12px}.custom-handle:hover{background:#2196f3;height:16px;width:16px}.handle-true{background:#4caf50;border-color:#4caf50;left:30%}.handle-false{background:#f44336;border-color:#f44336;left:70%}.handle-true:hover{background:#45a049;border-color:#45a049}.handle-false:hover{background:#d32f2f;border-color:#d32f2f}.react-flow__edge-path{stroke:#b1b1b7;stroke-width:2}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#2196f3;stroke-width:3}.workflow-test-dialog{max-height:90vh;max-width:700px;overflow-y:auto}.workflow-test-dialog .modal-body{padding:20px}.test-info{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px}.test-info p{margin:5px 0}.test-description{color:#666;font-size:.9em;margin-top:10px!important}.test-actions{margin:20px 0;text-align:center}.test-actions .btn{font-size:1.1em;padding:12px 30px}.test-result{border:2px solid;border-radius:8px;margin-top:30px;padding:20px}.test-result.success{background:#d4edda;border-color:#28a745;color:#155724}.test-result.error{background:#f8d7da;border-color:#dc3545;color:#721c24}.test-result h3{font-size:1.2em;margin:0 0 10px}.test-result p{margin:10px 0}.error-details{background:#0000001a;border-radius:4px;font-family:monospace;font-size:.9em;margin-top:15px;padding:10px}.test-steps{margin-top:20px}.test-steps h4{color:#333;margin-bottom:15px}.steps-list{display:flex;flex-direction:column;gap:10px}.step-item{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;padding:12px 15px}.step-header{align-items:center;display:flex;gap:10px;margin-bottom:5px}.step-icon{font-size:1.2em}.step-name{color:#333;flex:1 1;font-weight:700}.step-type{background:#e9ecef;border-radius:12px;color:#666;font-size:.85em;padding:2px 8px}.step-status{color:#666;font-size:.9em;margin-left:30px}.step-result{color:#007bff;font-weight:500}.workflow-test-dialog .form-control{border:1px solid #ced4da;border-radius:4px;font-size:1em;padding:10px;width:100%}.workflow-test-dialog .form-group{margin-bottom:20px}.workflows-tab{height:100%;overflow-y:auto;padding:20px}.workflows-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.workflows-header h2{color:var(--text-primary);margin:0}.workflows-empty,.workflows-loading{color:var(--text-secondary);padding:60px 20px;text-align:center}.workflows-empty button{margin-top:20px}.workflows-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.workflow-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:all .3s ease}.workflow-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.workflow-card.active{border-left:4px solid var(--primary-color)}.workflow-card.inactive{border-left:4px solid var(--text-tertiary);opacity:.7}.workflow-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.workflow-header h3{color:var(--text-primary);flex:1 1;font-size:18px;margin:0}.workflow-actions{align-items:center;display:flex;gap:8px}.workflow-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:8px 0 16px}.workflow-info{border-top:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:13px;gap:16px;padding-top:12px}.workflow-info span{align-items:center;display:flex;gap:4px}.workflow-status.active{color:var(--success-color);font-weight:500}.workflow-status.inactive{color:var(--text-tertiary)}.toggle-switch{display:inline-block;height:24px;position:relative;width:42px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--text-tertiary);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(18px)}.btn-icon{border-radius:4px;font-size:16px;transition:background-color .2s}.btn-icon:hover{background:var(--hover-background)}.btn-icon.btn-danger:hover{background:#dc35451a}@media (max-width:768px){.workflows-list{grid-template-columns:1fr}.workflows-header{align-items:stretch;flex-direction:column;gap:12px}.workflows-header button{width:100%}}.workflow-actions-tab{display:flex;flex-direction:column;height:100%;padding:20px}.workflow-actions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.workflow-actions-header h2{font-size:24px;margin:0}.workflow-actions-loading{color:#666;font-size:16px;padding:40px;text-align:center}.workflow-actions-content{display:flex;flex:1 1;gap:20px;overflow:hidden}.actions-sidebar{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;overflow:hidden;width:350px}.category-filter{border-bottom:1px solid #e0e0e0;padding:15px}.category-filter label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.category-filter select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px;width:100%}.actions-list{flex:1 1;overflow-y:auto;padding:10px}.action-item{align-items:center;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s}.action-item:hover{background:#f5f5f5}.action-item.selected{background:#e3f2fd;border-color:#2196f3}.action-item.inactive{opacity:.5}.action-icon{flex-shrink:0;font-size:24px}.action-info{flex:1 1;min-width:0}.action-name{font-size:14px;font-weight:500;margin-bottom:4px}.action-key{color:#666;font-family:Courier New,monospace;font-size:12px;margin-bottom:4px}.action-stats{color:#2196f3;font-size:12px;font-weight:500}.triggers-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.selected-action-header{align-items:flex-start;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.selected-action-header h3{font-size:20px;margin:0 0 10px}.action-description{color:#666;font-size:14px;margin:10px 0}.action-key-display{background:#f5f5f5;border-radius:4px;color:#d32f2f;display:inline-block;font-family:Courier New,monospace;font-size:12px;padding:4px 8px}.action-controls{display:flex;gap:8px}.btn-sm{font-size:13px;padding:6px 12px}.triggers-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.triggers-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:15px 20px}.triggers-header h4{font-size:16px;margin:0}.triggers-list{flex:1 1;overflow-y:auto;padding:20px}.triggers-empty{color:#999;padding:40px;text-align:center}.trigger-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:15px;padding:15px}.trigger-item.inactive{background:#f5f5f5;opacity:.6}.trigger-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.trigger-workflow{align-items:center;display:flex;gap:10px}.trigger-workflow strong{font-size:14px}.trigger-timing{background:#2196f3;border-radius:4px;color:#fff;font-size:12px;padding:2px 8px}.trigger-controls{display:flex;gap:8px}.btn-toggle{border:none;border-radius:4px;cursor:pointer;font-size:16px;height:32px;transition:all .2s;width:32px}.btn-toggle.active{background:#4caf50;color:#fff}.btn-toggle.inactive{background:#f44336;color:#fff}.btn-delete{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:16px;height:32px;transition:all .2s;width:32px}.btn-delete:hover{background:#f44336;border-color:#f44336}.trigger-details{display:flex;flex-direction:column;gap:8px}.trigger-detail-item{display:flex;font-size:13px;gap:8px}.trigger-detail-item .label{color:#666;font-weight:500}.trigger-detail-item .value{color:#333}.trigger-detail-item code{background:#f5f5f5;border-radius:4px;display:block;font-size:12px;max-width:100%;overflow-x:auto;padding:8px;white-space:pre-wrap}.trigger-form{background:#f9f9f9;border:2px solid #2196f3;border-radius:8px;margin:0 20px 20px;padding:20px}.form-group{margin-bottom:15px}.form-group input,.form-group select{padding:8px}.form-group small{color:#666;display:block;font-size:12px;margin-top:4px}.form-section{border-top:1px solid #ddd;margin-top:20px;padding-top:20px}.form-section h5{color:#666;font-size:14px;margin:0 0 15px}.form-actions{border-top:1px solid #ddd;gap:10px;margin-top:20px;padding-top:20px}.no-action-selected{align-items:center;color:#999;display:flex;font-size:16px;height:100%;justify-content:center}.btn-primary{background:#2196f3;transition:all .2s}.btn-primary:hover{background:#1976d2}.btn-secondary{background:#fff;border:1px solid #2196f3;color:#2196f3;transition:all .2s}.btn-secondary:hover{background:#e3f2fd}@media (max-width:1024px){.workflow-actions-content{flex-direction:column}.actions-sidebar{max-height:300px;width:100%}.form-row{grid-template-columns:1fr}}.project-budget-tab{padding:20px}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.tab-header h2{color:#2c3e50;margin:0}.budget-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(600px,1fr))}.budget-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:transform .2s,box-shadow .2s}.budget-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.budget-card-header{align-items:start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.budget-card-header h3{color:#2c3e50;font-size:1.3em;margin:0 0 8px}.project-name{color:#7f8c8d;font-size:.95em;margin:0}.status-badge{border-radius:20px;font-size:.85em}.status-planning{background:#e3f2fd;color:#1976d2}.status-active{background:#e8f5e9;color:#388e3c}.status-completed{background:#f3e5f5;color:#7b1fa2}.status-exceeded{background:#ffebee;color:#c62828}.budget-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.stat{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;padding:12px}.stat-label{color:#2c3e50!important;font-size:.85em;margin-bottom:6px}.stat-value{color:#2c3e50!important;font-size:1.3em;font-weight:600}.stat-value.negative{color:#dc3545}.stat-value.positive{color:#28a745}.budget-utilization{margin:20px 0}.utilization-bar{background:#e9ecef;margin-bottom:8px}.utilization-fill{border-radius:12px}.utilization-text{color:#495057;display:block;text-align:center}.budget-meta{color:#6c757d;font-size:.9em;gap:16px;margin:15px 0;padding:10px 0}.budget-actions,.budget-meta{border-top:1px solid #e9ecef;display:flex}.budget-actions{gap:10px;margin-top:20px;padding-top:15px}.budget-actions button{flex:1 1}.budget-items{border-top:2px solid #e9ecef;margin-top:24px;padding-top:20px}.budget-items h4{color:#495057;font-size:1.1em;margin:0 0 15px}.items-table{border-collapse:collapse;font-size:.9em;width:100%}.items-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:10px;text-align:left}.items-table td{border-bottom:1px solid #e9ecef;padding:12px 10px}.items-table tr:hover{background:#f8f9fa}.category-badge{background:#e7f3ff;border-radius:12px;color:#06c;display:inline-block;font-size:.85em;font-weight:500;padding:4px 10px}.items-table small{color:#6c757d;display:block;margin-top:4px}.items-table .positive{color:#28a745;font-weight:600}.items-table .negative{color:#dc3545;font-weight:600}.items-table .btn-sm{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;margin-right:5px;padding:4px 8px}.items-table .btn-sm:hover{background:#0056b3}.items-table .btn-sm.btn-danger{background:#dc3545}.items-table .btn-sm.btn-danger:hover{background:#bd2130}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;font-size:1em}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #007bff1a}.modal-actions{margin-top:24px}.btn-secondary{border-radius:6px}.btn-secondary:hover{background:#545b62}.btn-danger{background:#dc3545;border-radius:6px;padding:10px 20px;transition:background .2s}.btn-danger:hover{background:#bd2130}.alert{margin-bottom:20px;padding:12px 20px}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}[data-theme=dark] .project-budget-tab{background:#1a1a1a;color:#e0e0e0}[data-theme=dark] .tab-header h2{color:#e0e0e0}[data-theme=dark] .budget-card{background:#2d2d2d;color:#e0e0e0}[data-theme=dark] .budget-card-header h3,[data-theme=dark] .stat-value{color:#e0e0e0}[data-theme=dark] .stat{background:#3a3a3a}[data-theme=dark] .items-table th{background:#3a3a3a;color:#e0e0e0}[data-theme=dark] .items-table tr:hover{background:#3a3a3a}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:#3a3a3a;border-color:#4a4a4a;color:#e0e0e0}.project-reports-tab{margin:0 auto;max-width:1600px;padding:20px}.reports-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.reports-header h2{font-size:24px;font-weight:600;margin:0}.btn-export{align-items:center;background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 16px;transition:background-color .2s}.btn-export:hover:not(:disabled){background-color:#218838}.btn-export:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.btn-pdf{background-color:#dc3545}.btn-pdf:hover:not(:disabled){background-color:#c82333}.tab-navigation{border-bottom:2px solid #e9ecef;display:flex;gap:8px;margin-bottom:24px}.tab-btn{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s}.tab-btn:hover{background-color:#f8f9fa;color:#495057}.tab-btn.active{background-color:initial;border-bottom-color:#007bff;color:#007bff}.filters-row{align-items:flex-end;background-color:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{color:#495057;font-size:13px;font-weight:500}.filter-group input,.filter-group select{border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:150px;padding:8px 12px}.btn-primary{background-color:#007bff;border-radius:6px}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{background-color:#6c757d}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:14px;padding:12px 16px}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:30px}.charts-section{margin:30px 0}.chart-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));margin-bottom:30px}.chart-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:transform .2s,box-shadow .2s}.chart-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.chart-card-wide{grid-column:span 2}.chart-card h3{color:#2c3e50;font-size:1.1em;font-weight:600;margin:0 0 20px}[data-theme=dark] .chart-card{background:#2d2d2d;color:#e0e0e0}[data-theme=dark] .chart-card h3{color:#e0e0e0}@media (max-width:1200px){.chart-grid{grid-template-columns:1fr}.chart-card-wide{grid-column:span 1}}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.summary-card{background-color:#fff;border:1px solid #e9ecef;box-shadow:0 2px 4px #0000000d;gap:16px;padding:20px}.card-icon,.summary-card{align-items:center;border-radius:8px;display:flex}.card-icon{background-color:#e7f3ff;color:#007bff;height:48px;justify-content:center;width:48px}.card-content{flex:1 1}.card-label{color:#6c757d;font-size:13px;margin-bottom:4px}.card-value{color:#212529;font-size:24px;font-weight:600}.projects-table-container{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow-x:auto}.projects-table{border-collapse:collapse;font-size:14px;width:100%}.projects-table thead{background-color:#f8f9fa}.projects-table th{border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px 16px;text-align:left}.projects-table td{border-bottom:1px solid #e9ecef;color:#212529;padding:12px 16px}.projects-table tbody tr:hover{background-color:#f8f9fa}.badge-inactive{background-color:#f8d7da;border-radius:12px;color:#721c24;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px}.status-badge{border-radius:6px;font-size:13px;font-weight:700;letter-spacing:.3px;padding:6px 14px}.status-planning{background-color:#ffc107;color:#000}.status-active{background-color:#17a2b8}.status-completed{background-color:#28a745;color:#fff}.status-on_hold{background-color:#dc3545;color:#fff}.status-cancelled{background-color:#6c757d;color:#fff}.status-over_budget{background-color:#dc3545;color:#fff}.status-unknown{background-color:#6c757d;color:#fff}.utilization-bar{background-color:#e9ecef;border-radius:12px;height:24px;overflow:hidden;position:relative;width:100%}.utilization-fill{height:100%;transition:width .3s ease}.utilization-text{color:#212529;font-size:12px;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.project-info-card{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:24px;padding:20px}.project-info-card h3{color:#212529;font-size:20px;margin:0 0 8px}.project-info-card p{color:#6c757d;font-size:14px;margin:4px 0}.budget-info{color:#495057;display:flex;font-size:14px;gap:24px;margin-top:12px}.entries-container,.grouped-data-container{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-top:32px;padding:20px}.entries-container h4,.grouped-data-container h4{color:#212529;font-size:16px;font-weight:600;margin:0 0 16px}.entries-table,.grouped-table{border-collapse:collapse;font-size:14px;width:100%}.entries-table thead,.grouped-table thead{background-color:#f8f9fa}.entries-table th,.grouped-table th{border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:10px 12px;text-align:left}.entries-table td,.grouped-table td{border-bottom:1px solid #e9ecef;color:#212529;padding:10px 12px}.entries-table tbody tr:hover,.grouped-table tbody tr:hover{background-color:#f8f9fa}[data-theme=dark] .project-reports-tab{background-color:#1a1a1a;color:#e0e0e0}[data-theme=dark] .filters-row{background-color:#2d2d2d}[data-theme=dark] .filter-group label{color:#b0b0b0}[data-theme=dark] .filter-group input,[data-theme=dark] .filter-group select{background-color:#3a3a3a;border-color:#4a4a4a;color:#e0e0e0}[data-theme=dark] .summary-card{background-color:#2d2d2d;border-color:#3a3a3a}[data-theme=dark] .card-icon{background-color:#1e3a5f}[data-theme=dark] .card-label{color:#b0b0b0}[data-theme=dark] .card-value{color:#e0e0e0}[data-theme=dark] .entries-container,[data-theme=dark] .grouped-data-container,[data-theme=dark] .project-info-card,[data-theme=dark] .projects-table-container{background-color:#2d2d2d;border-color:#3a3a3a}[data-theme=dark] .entries-table thead,[data-theme=dark] .grouped-table thead,[data-theme=dark] .projects-table thead{background-color:#242424}[data-theme=dark] .entries-table td,[data-theme=dark] .entries-table th,[data-theme=dark] .grouped-table td,[data-theme=dark] .grouped-table th,[data-theme=dark] .projects-table td,[data-theme=dark] .projects-table th{border-color:#3a3a3a;color:#e0e0e0}[data-theme=dark] .entries-table tbody tr:hover,[data-theme=dark] .grouped-table tbody tr:hover,[data-theme=dark] .projects-table tbody tr:hover{background-color:#242424}[data-theme=dark] .utilization-bar{background-color:#3a3a3a}[data-theme=dark] .utilization-text{color:#e0e0e0}._3_ygE{border-bottom:1px solid #e6e4e4;border-left:1px solid #e6e4e4;border-top:1px solid #e6e4e4;display:table}._1nBOt{display:table-row;list-style:none}._2eZzQ{border-right:1px solid #c4c4c4;margin-left:-2px;opacity:1}._WuQ0f{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}._3ZbQT{border-bottom:1px solid #e6e4e4;border-left:1px solid #e6e4e4;display:table}._34SS0{display:table-row;text-overflow:ellipsis}._34SS0:nth-of-type(2n){background-color:#f5f5f5}._3lLk3{display:table-cell;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}._nI1Xw{display:flex}._2QjE6{color:#565656;cursor:pointer;padding:.15rem .2rem 0}._2QjE6,._2TfEi{font-size:.6rem;-webkit-user-select:none;user-select:none}._2TfEi{padding-left:1rem}._3T42e{background:#fff;box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b;padding:12px}._29NTg{color:#666;font-size:12px;margin-bottom:6px}._25P-K{-webkit-touch-callout:none;flex-shrink:0;-webkit-user-select:none;user-select:none}._25P-K,._3gVAq{display:flex;pointer-events:none;position:absolute}._3gVAq{visibility:hidden}._1eT-t{flex-shrink:0;overflow:hidden auto;scrollbar-width:thin;width:1rem}._1eT-t::-webkit-scrollbar{height:1.1rem;width:1.1rem}._1eT-t::-webkit-scrollbar-corner{background:#0000}._1eT-t::-webkit-scrollbar-thumb{background:#0003;background:var(--palette-black-alpha-20,#0003);background-clip:padding-box;border:6px solid #0000;border-radius:10px}._1eT-t::-webkit-scrollbar-thumb:hover{background:#0000004d;background:var(--palette-black-alpha-30,#0000004d);background-clip:padding-box;border:4px solid #0000}._2dZTy{fill:#fff}._2dZTy:nth-child(2n){fill:#f5f5f5}._3rUKi{stroke:#ebeff2}._RuwuK{stroke:#e6e4e4}._9w8d5{text-anchor:middle;fill:#333;-webkit-touch-callout:none;pointer-events:none;-webkit-user-select:none;user-select:none}._1rLuZ{stroke:#e6e4e4}._2q1Kt{text-anchor:middle;fill:#555;-webkit-touch-callout:none;pointer-events:none;-webkit-user-select:none;user-select:none}._35nLX{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}._KxSXS{cursor:pointer;outline:none}._KxSXS:hover ._3w_5u{opacity:1;visibility:visible}._3w_5u{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden}._31ERP{stroke-width:0;-webkit-user-select:none;user-select:none}._RRr13{cursor:pointer;outline:none}._2P2B1{-webkit-user-select:none;user-select:none}._1KJ6x{cursor:pointer;outline:none}._2RbVy{opacity:.6}._2RbVy,._2pZMF{-webkit-user-select:none;user-select:none}._3zRJQ{fill:#fff;text-anchor:middle;dominant-baseline:central;font-weight:lighter}._3KcaM,._3zRJQ{-webkit-touch-callout:none;pointer-events:none;-webkit-user-select:none;user-select:none}._3KcaM{fill:#555;text-anchor:start}._CZjuD{font-size:0}._2B2zv,._CZjuD{margin:0;overflow:hidden;padding:0}._3eULf{display:flex;list-style:none;margin:0;outline:none;padding:0;position:relative}._2k9Ys{height:1.2rem;max-width:100%;overflow:auto;scrollbar-width:thin}._2k9Ys::-webkit-scrollbar{height:1.1rem;width:1.1rem}._2k9Ys::-webkit-scrollbar-corner{background:#0000}._2k9Ys::-webkit-scrollbar-thumb{background:#0003;background:var(--palette-black-alpha-20,#0003);background-clip:padding-box;border:6px solid #0000;border-radius:10px}._2k9Ys::-webkit-scrollbar-thumb:hover{background:#0000004d;background:var(--palette-black-alpha-30,#0000004d);background-clip:padding-box;border:4px solid #0000}._19jgW{height:1px}.project-planning-tab{background:var(--background-color);display:flex;flex-direction:column;height:100%;position:relative}.tab-button:hover{background:var(--hover-background)}.project-selector{background:var(--card-background)}.project-selector label{min-width:80px}.project-selector select{padding:.75rem}.btn-add-task{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.btn-add-task:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.btn-add-task:disabled{background:var(--border-color);cursor:not-allowed;opacity:.6}.success-indicator{animation:slideInRight .3s ease-out,fadeOut .3s ease-out 1.7s forwards}.planning-header{box-shadow:0 1px 3px #0000001a;gap:1.5rem;margin-bottom:1.5rem;padding:1rem}.legend{flex-wrap:wrap}.gantt-wrapper{box-shadow:0 1px 3px #0000001a;flex:1 1;min-height:400px}.empty-state p{margin:.5rem 0}.empty-state .hint{color:var(--text-secondary);font-size:.95rem}.planning-info{border-left:4px solid #007bff;border-radius:8px;margin-top:1rem;padding:1rem}body.dark-mode .planning-info{border-left-color:#3b82f6}@media (max-width:768px){.planning-header{align-items:stretch;flex-direction:column}.legend,.view-controls{flex-wrap:wrap}.gantt-wrapper{min-height:300px}}.modal-overlay{animation:fadeIn .2s ease-out;background:#0009;z-index:2000}.modal-content{animation:slideUp .3s ease-out;border-radius:12px;box-shadow:0 20px 60px #0000004d}.close-button{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-button:hover{background:var(--hover-background);color:var(--text-primary)}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-primary);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:1rem;padding:.75rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{min-height:80px}.form-row{margin-bottom:1.25rem}.modal-footer{border-top:1px solid var(--border-color);gap:.75rem}.btn-cancel,.btn-primary{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-cancel{background:var(--border-color);color:var(--text-primary)}.btn-cancel:hover{background:var(--hover-background)}.btn-primary{background:var(--primary-color)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.system-settings-tab{padding:20px}.settings-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.settings-header h2{color:#333;margin:0}.settings-navigation{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.nav-btn{background:#f5f5f5;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.nav-btn:hover{background:#e8e8e8;border-color:#bbb}.nav-btn.active{background:#007bff;border-color:#007bff;color:#fff}.settings-content{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:30px}.settings-section h3{color:#333;font-size:20px;margin-bottom:20px;margin-top:0}.section-description{color:#666;margin-bottom:20px}.form-group input[type=email],.form-group input[type=number],.form-group input[type=password],.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:5px;font-size:14px;padding:10px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff}.form-row{grid-gap:20px;gap:20px}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.form-help{color:#888;font-size:12px;margin-top:5px}.checkbox-label{font-weight:500;gap:10px}.checkbox-label input[type=checkbox]{height:18px;width:18px}.logo-upload{display:flex;flex-direction:column;gap:15px}.logo-preview{background:#f9f9f9;border:2px dashed #ddd;border-radius:8px;display:inline-block;max-width:300px;padding:20px}.logo-preview img{display:block;max-height:150px;max-width:100%}.logo-upload input[type=file]{border:1px solid #ddd;border-radius:5px;cursor:pointer;padding:10px}.info-box{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:5px;margin-top:20px;padding:15px}.email-test{background:#f5f5f5;border-radius:8px;margin-top:30px;padding:20px}.email-test h4{color:#333;margin-bottom:15px;margin-top:0}.feature-toggles{display:flex;flex-direction:column;gap:15px}.feature-toggle{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .2s}.feature-toggle:hover{background:#f5f5f5;border-color:#ccc}.feature-info{display:flex;flex-direction:column;gap:5px}.feature-info strong{color:#333;font-size:15px}.feature-info span{color:#666;font-size:13px;font-weight:400}.settings-footer{border-top:2px solid #e0e0e0;display:flex;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn-primary{border-radius:5px;font-size:15px;padding:12px 30px;transition:background .2s}.btn-primary:disabled{background:#ccc}.btn-secondary{border-radius:5px;padding:10px 20px;transition:background .2s}.btn-secondary:disabled{background:#ccc;cursor:not-allowed}.settings-error,.settings-loading{color:#666;font-size:16px;padding:40px;text-align:center}.settings-error{color:#dc3545}.module-permissions-container{background-color:var(--bg-primary);min-height:100vh}.module-permissions-paper{background-color:var(--card-bg)!important;border:1px solid var(--border-color)!important}.module-permissions-paper,.module-permissions-select{color:var(--text-primary)!important}.module-permissions-select .MuiOutlinedInput-notchedOutline{border-color:var(--input-border)!important}.module-permissions-select:hover .MuiOutlinedInput-notchedOutline{border-color:var(--border-color)!important}.module-permissions-select.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--primary-color)!important}.module-permissions-label,.module-permissions-select .MuiSvgIcon-root{color:var(--text-secondary)!important}.module-permissions-menuitem{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}.module-permissions-menuitem:hover{background-color:var(--table-hover)!important}.module-permissions-menuitem.Mui-selected{background-color:var(--bg-tertiary)!important}.module-permissions-menuitem.Mui-selected:hover{background-color:var(--table-hover)!important}.module-permissions-table-container{background-color:var(--card-bg)!important;border:1px solid var(--border-color)!important}.module-permissions-table-head{background-color:var(--bg-secondary)!important}.module-permissions-table-cell,.module-permissions-table-cell-header{border-color:var(--table-border)!important;color:var(--text-primary)!important}.module-permissions-table-cell-header{font-weight:700!important}.module-permissions-table-row:hover{background-color:var(--table-hover)!important}.module-permissions-checkbox{color:var(--text-secondary)!important}.module-permissions-checkbox.Mui-checked{color:var(--primary-color)!important}.module-permissions-checkbox.Mui-disabled{color:var(--border-color)!important}.module-permissions-chip{border-color:var(--border-color)!important;color:var(--text-secondary)!important}.module-permissions-chip-primary{border-color:var(--primary-color)!important}.module-permissions-chip-primary,.module-permissions-icon{color:var(--primary-color)!important}.module-permissions-alert-error,.module-permissions-title{color:var(--text-primary)!important}.module-permissions-alert-error{background-color:var(--bg-tertiary)!important;border:1px solid #dc2626!important}.module-permissions-alert-error .MuiAlert-icon{color:#dc2626!important}.module-permissions-alert-success{background-color:var(--bg-tertiary)!important;border:1px solid #22c55e!important;color:var(--text-primary)!important}.module-permissions-alert-success .MuiAlert-icon{color:#22c55e!important}.module-permissions-loading{color:var(--text-primary)!important}.payroll-management{padding:20px 0}.payroll-management .MuiTableCell-head{background-color:#f5f5f5;font-weight:600}.payroll-management .MuiTableRow-root:hover{background-color:#fafafa}.payroll-management .MuiChip-root{min-width:80px}.button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.button.primary{background:linear-gradient(90deg,#10b981,#0ea5e9)}.button.primary,.button.secondary{box-shadow:0 2px 4px #0000001a;color:#fff}.button.secondary{background:linear-gradient(90deg,#6b7280,#4b5563)}.button.success{background:linear-gradient(90deg,#10b981,#059669)}.button.danger,.button.success{box-shadow:0 2px 4px #0000001a;color:#fff}.button.danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.button.small{font-size:12px;padding:6px 12px}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.action-buttons{flex-wrap:wrap;gap:8px}.status-badge{font-size:12px;padding:4px 12px}.status-badge.draft{background:#e5e7eb;color:#4b5563}.status-badge.calculated{background:#dbeafe;color:#2563eb}.status-badge.approved,.status-badge.paid{background:#d1fae5;color:#059669}.status-badge.cancelled{color:#dc2626}.zeitmodell-zuweisung{margin:0 auto;max-width:900px;padding:24px}.zuweisung-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.zuweisung-header h2{font-size:24px;font-weight:600;margin:0}.btn-close{background:none;color:#999;font-size:32px;transition:color .2s}.zuweisung-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.form-group{margin-bottom:16px}.form-group label{margin-bottom:6px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#1976d2;outline:none}.form-row{grid-template-columns:repeat(2,1fr);margin-bottom:16px}.assignments-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.assignments-section h3{color:#333;font-size:18px;font-weight:600;margin:0 0 16px}.assignments-list{display:flex;flex-direction:column;gap:12px}.assignment-card{align-items:center;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;display:flex;justify-content:space-between;padding:16px;transition:background-color .2s}.assignment-card:hover{background-color:#f0f0f0}.assignment-info{flex:1 1}.assignment-name{color:#333;font-size:16px;font-weight:600;margin-bottom:6px}.assignment-dates{color:#666;display:flex;font-size:14px;gap:16px}.no-data{padding:32px}.btn-primary{padding:10px 20px}.assignment-card,.assignments-section,.zeitmodell-zuweisung,.zuweisung-form{background:#fff!important;color:#333!important}.form-group input,.form-group select{background-color:#fff!important;color:#333!important}@media (max-width:768px){.zeitmodell-zuweisung{padding:16px}.form-row{grid-template-columns:1fr}.assignment-card{align-items:stretch;flex-direction:column;gap:12px}.assignment-dates{flex-direction:column;gap:4px}}.zeitmodelle-verwaltung{margin:0 auto;max-width:1400px;padding:24px}.header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.header h1{font-size:28px;font-weight:600;margin:0}.header-actions{display:flex;gap:12px}.alert{border-radius:4px;margin-bottom:16px}.alert-error{border-left:4px solid #d32f2f;color:#d32f2f}.alert-success{background-color:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.btn-primary{background-color:#1976d2;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s}.btn-primary:hover{background-color:#1565c0}.btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#333;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s}.btn-secondary:hover{background-color:#e0e0e0}.btn-danger{background-color:#d32f2f;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s}.btn-danger:hover{background-color:#c62828}.btn-danger-small{background-color:#d32f2f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s}.btn-danger-small:hover{background-color:#c62828}.loading,.no-data{padding:48px}.no-data{font-size:14px}.zeitmodelle-list{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.zeitmodell-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:box-shadow .2s}.zeitmodell-card:hover{box-shadow:0 4px 8px #00000026}.card-header{align-items:start;border-bottom:1px solid #f0f0f0;margin-bottom:16px;padding-bottom:16px}.card-header h3{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.card-description{color:#666;font-size:14px;margin:0}.card-actions{display:flex;gap:8px}.card-info{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item .label{color:#999;font-size:12px;font-weight:500;text-transform:uppercase}.info-item span:not(.label){color:#333;font-size:14px;font-weight:500}.eintraege-preview{border-top:1px solid #f0f0f0;padding-top:16px}.eintraege-preview h4{color:#666;font-size:14px;font-weight:600;margin:0 0 12px;text-transform:uppercase}.eintrag-preview{align-items:center;background-color:#f9f9f9;border-radius:4px;display:flex;font-size:13px;gap:12px;margin-bottom:8px;padding:8px 12px}.eintrag-preview .stundensatz{color:#1976d2;font-weight:600;min-width:90px}.eintrag-preview .zeit{color:#666;min-width:120px}.eintrag-preview .wochentage{color:#999;flex:1 1}.eintrag-preview .badge{background-color:#fff3cd;border-radius:12px;color:#856404;font-size:11px;font-weight:500;padding:2px 8px}.zeitmodell-form-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px}.form-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.form-header h2{font-size:24px;font-weight:600;margin:0}.zeitmodell-form{display:flex;flex-direction:column;gap:24px}.form-section{background-color:#fafafa;border-radius:8px;padding:20px}.form-section h3{color:#333;font-size:18px;font-weight:600;margin:0 0 16px}.section-header{margin-bottom:16px}.section-header h3{margin:0}.form-group{gap:6px}.form-group label{color:#555;font-size:14px;font-weight:500}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1976d2;outline:none}.form-row{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group-checkbox,.form-group-checkbox label{align-items:center;display:flex}.form-group-checkbox label{cursor:pointer;font-size:14px;gap:8px;-webkit-user-select:none;user-select:none}.form-group-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.eintrag-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;padding:20px}.eintrag-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.eintrag-header h4{color:#333;font-size:16px;font-weight:600;margin:0}.wochentage-selector{display:flex;flex-wrap:wrap;gap:8px}.wochentag-btn{background-color:#fff;border:2px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.wochentag-btn:hover{border-color:#1976d2;color:#1976d2}.wochentag-btn.active{background-color:#1976d2;border-color:#1976d2;color:#fff}.form-actions{border-top:1px solid #e0e0e0;gap:12px;padding-top:16px}.eintrag-card,.form-section,.zeitmodell-card,.zeitmodell-form-container,.zeitmodelle-verwaltung{background:#fff!important;color:#333!important}@media (max-width:768px){.zeitmodelle-verwaltung{padding:16px}.zeitmodelle-list{grid-template-columns:1fr}.header{align-items:stretch}.card-header,.header{flex-direction:column;gap:12px}.card-actions{justify-content:stretch;width:100%}.card-actions button{flex:1 1}.form-row{grid-template-columns:1fr}.wochentage-selector{justify-content:space-between}.wochentag-btn{flex:1 1;min-width:40px;padding:8px 4px}}.admin-dashboard{background-color:var(--bg-secondary);display:flex;flex-direction:column;min-height:100vh}.admin-dashboard .navbar{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;width:100%}.admin-dashboard .navbar-left{align-items:center;display:flex;gap:16px}.admin-dashboard .navbar-logo{height:40px;object-fit:contain;width:auto}.admin-dashboard .admin-container{flex:1 1;margin:0;max-width:100%;overflow-x:hidden;padding:20px;width:100%}.admin-dashboard .admin-card{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);display:flex;flex-direction:row;height:calc(100vh - 140px);overflow:hidden;padding:0;transition:background-color .3s ease,box-shadow .3s ease}[data-theme=dark] .admin-dashboard .admin-card{border:1px solid #3a3a3a}.admin-dashboard .tab-navigation{-webkit-overflow-scrolling:touch;border-right:2px solid var(--border-color);display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-x:hidden;overflow-y:auto;padding:16px;scrollbar-color:var(--border-color) #0000;scrollbar-width:thin}.admin-dashboard .tab-navigation::-webkit-scrollbar{width:6px}.admin-dashboard .tab-navigation::-webkit-scrollbar-track{background:#0000}.admin-dashboard .tab-navigation::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.admin-dashboard .tab-navigation::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}[data-theme=dark] .admin-dashboard .tab-navigation{background:#1a1a1a;border-right-color:#3a3a3a}.admin-dashboard .tab-group{margin-bottom:20px}.admin-dashboard .tab-group-label{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:4px;opacity:.7;padding:8px 12px 4px;text-transform:uppercase;transition:opacity .2s ease,color .2s ease}.admin-dashboard .tab-group-label:hover{color:var(--text-primary);opacity:1}[data-theme=dark] .admin-dashboard .tab-group-label{color:#888}[data-theme=dark] .admin-dashboard .tab-group-label:hover{color:#aaa}.admin-dashboard .tab-button{background:#0000;border:none;border-left:3px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:400;padding:12px 16px;text-align:left;transition:all .2s ease;white-space:nowrap;width:100%}.admin-dashboard .tab-button:hover{background:var(--card-bg);border-left-color:#667eea;color:var(--text-primary)}.admin-dashboard .tab-button.active{background:var(--card-bg);border-left-color:#667eea;color:#667eea;font-weight:600}[data-theme=dark] .admin-dashboard .tab-button:hover{background:#252525}[data-theme=dark] .admin-dashboard .tab-button.active{background:#252525;border-left-color:#8b9bff;color:#8b9bff}.admin-dashboard .tab-content{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:24px}.admin-dashboard .tab-content::-webkit-scrollbar{width:8px}.admin-dashboard .tab-content::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.admin-dashboard .tab-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.admin-dashboard .tab-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}[data-theme=dark] .admin-dashboard .tab-content::-webkit-scrollbar-thumb{background:#4a4a4a}@media (max-width:1024px){.admin-dashboard .admin-container{padding:16px}.admin-dashboard .admin-card{height:calc(100vh - 130px)}.admin-dashboard .tab-navigation{padding:12px;width:200px}.admin-dashboard .tab-button{font-size:13px;padding:10px 14px}.admin-dashboard .tab-content{padding:20px}}@media (max-width:768px){.admin-dashboard .admin-container{padding:12px}.admin-dashboard .admin-card{border-radius:8px;flex-direction:column;height:calc(100vh - 180px)}.admin-dashboard .tab-navigation{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);border-right:none;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:12px;width:100%}[data-theme=dark] .admin-dashboard .tab-navigation{border-bottom-color:#3a3a3a}.admin-dashboard .tab-navigation::-webkit-scrollbar{height:6px;width:auto}.admin-dashboard .tab-button{border-bottom:3px solid #0000;border-left:none;flex-shrink:0;font-size:12px;padding:8px 12px;white-space:nowrap;width:auto}.admin-dashboard .tab-button.active{border-bottom-color:#667eea;border-left-color:#0000}[data-theme=dark] .admin-dashboard .tab-button.active{border-bottom-color:#8b9bff}.admin-dashboard .tab-button:hover{border-left-color:#0000;border-radius:6px}.admin-dashboard .tab-content{padding:16px}.admin-dashboard .navbar{flex-direction:column;gap:12px;padding:12px}.admin-dashboard .navbar-left{gap:12px}.admin-dashboard .navbar-logo{height:32px}.admin-dashboard .navbar h1{font-size:18px}.admin-dashboard .navbar-right{flex-direction:column;gap:8px;width:100%}.admin-dashboard .navbar-right button,.admin-dashboard .navbar-right span{font-size:13px;text-align:center;width:100%}.admin-dashboard .navbar-right button{padding:8px 12px}}@media (max-width:480px){.admin-dashboard .admin-container{padding:8px}.admin-dashboard .admin-card{border-radius:6px}.admin-dashboard .tab-navigation{padding:8px}.admin-dashboard .tab-button{font-size:11px;padding:6px 10px}.admin-dashboard .tab-content{padding:12px}.admin-dashboard .navbar-logo{height:28px}.admin-dashboard .navbar h1{font-size:16px}.admin-dashboard .navbar-right span{font-size:12px}}@media (max-width:896px) and (orientation:landscape){.admin-dashboard .admin-card{flex-direction:row;height:calc(100vh - 100px)}.admin-dashboard .tab-navigation{border-bottom:none;border-right:2px solid var(--border-color);flex-direction:column;overflow-x:hidden;overflow-y:auto;width:180px}.admin-dashboard .tab-button{border-bottom:none;border-left:3px solid #0000;width:100%}.admin-dashboard .tab-button.active{border-bottom-color:#0000;border-left-color:#667eea}[data-theme=dark] .admin-dashboard .tab-button.active{border-left-color:#8b9bff}.admin-dashboard .navbar{padding:8px 12px}.admin-dashboard .navbar h1{font-size:18px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.admin-dashboard .tab-button{font-weight:400}.admin-dashboard .tab-button.active{font-weight:600}}.compliance-dashboard{margin:0 auto;max-width:1400px;padding:2rem}.dashboard-header h1{color:var(--text-primary);font-size:2rem;margin-bottom:.5rem}.dashboard-header p{color:var(--text-secondary);font-size:.95rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:var(--card-bg);box-shadow:0 2px 4px var(--shadow-color);display:flex;gap:1rem;transition:background-color .3s ease,box-shadow .3s ease}.stat-card.critical{background:#fff5f5;border-left:4px solid #dc2626}.stat-icon{font-size:2.5rem}.stat-content{flex:1 1}.stat-value{color:var(--text-primary);font-size:2rem}.stat-label{color:var(--text-secondary);font-size:.9rem}.violations-by-type{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);margin-bottom:2rem;padding:1.5rem;transition:background-color .3s ease,box-shadow .3s ease}.violations-by-type h2{font-size:1.3rem;margin-bottom:1rem}.type-list{display:flex;flex-direction:column;gap:.75rem}.type-item{align-items:center;background:var(--bg-tertiary);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem;transition:background-color .3s ease}.type-label{font-weight:500}.type-count{background:#4f46e5;border-radius:12px;color:#fff;font-size:.9rem;font-weight:600;padding:.25rem .75rem}.violations-section{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);color:var(--text-primary);margin-bottom:2rem;padding:1.5rem}[data-theme=dark] .violations-section{background:#1e1e1e;border:1px solid #3a3a3a}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{font-size:1.3rem}.filter-buttons{display:flex;gap:.5rem}.filter-buttons button{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;padding:.5rem 1rem;transition:all .2s}[data-theme=dark] .filter-buttons button{background:#252525;border-color:#3a3a3a}.filter-buttons button:hover{background:var(--bg-secondary);border-color:#4a9eff;border-color:var(--primary-color,#4a9eff)}[data-theme=dark] .filter-buttons button:hover{background:#2d2d2d}.filter-buttons button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.badge{border-radius:12px;font-size:.85rem;padding:.25rem .75rem;white-space:nowrap}.badge-critical{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-success{background:#d1fae5;color:#065f46}.badge-pending{background:#dbeafe;color:#1e40af}.row-critical{background:#fef2f2!important}.row-critical:hover{background:#fee2e2!important}.top-users-section{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);color:var(--text-primary);padding:1.5rem}[data-theme=dark] .top-users-section{background:#1e1e1e;border:1px solid #3a3a3a}.top-users-section h2{font-size:1.3rem;margin-bottom:1rem}.users-list{display:flex;flex-direction:column;gap:.75rem}.user-item{align-items:center;background:#f9fafb;border-left:3px solid #f59e0b;border-radius:6px;display:flex;justify-content:space-between;padding:1rem}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-email{color:#6b7280;font-size:.85rem}.user-violations{color:#dc2626;font-weight:600}.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.btn-small{font-size:.85rem;padding:.35rem .75rem}.btn-success{border:none;border-radius:6px;cursor:pointer;transition:all .2s}@media (max-width:768px){.compliance-dashboard{padding:1rem}.stats-grid{gap:1rem;grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.filter-buttons{justify-content:stretch;width:100%}.filter-buttons button{flex:1 1}}[data-theme=dark] .btn-success{background:#22c55e;border:none;color:#fff}[data-theme=dark] .btn-success:hover{background:#16a34a}.invoice-templates-page{margin:0 auto;max-width:1400px;padding:24px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.page-header h1{color:#111827;font-size:28px;margin:0}.templates-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.template-card{background:var(--card-bg);border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);color:var(--text-primary);padding:24px;transition:all .3s ease}[data-theme=dark] .template-card{background:#1e1e1e;border-color:#3a3a3a}.template-card:hover{border-color:#e5e7eb;box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.template-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.template-header h3{color:#111827;font-size:20px;margin:0}.badge-default{background-color:#dbeafe;border-radius:12px;color:#1e40af;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.template-info{margin-bottom:20px}.info-item{color:#4b5563;font-size:14px;margin-bottom:8px}.info-item strong{color:#374151;margin-right:8px}.template-actions{border-top:2px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px}.btn{border-radius:6px;font-size:14px;padding:10px 20px}.btn-primary:hover{background-color:#1d4ed8}.btn-secondary{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background-color:#e5e7eb}.btn-outline{background-color:#fff;border:1px solid #2563eb;color:#2563eb}.btn-outline:hover{background-color:#eff6ff}.btn-danger{background-color:#fff;border:1px solid #dc2626;color:#dc2626}.btn-danger:hover{background-color:#fee}.btn-small{font-size:13px}.loading{color:#6b7280;padding:60px}.empty-state{background:#fff;box-shadow:0 1px 3px #0000001a;padding:60px;text-align:center}.empty-state p{color:#6b7280;font-size:16px;margin:0 0 20px}.alert{border-radius:6px;margin-bottom:24px;padding:12px 16px}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c00}[data-theme=dark] .btn{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn:hover{background-color:var(--bg-secondary);border-color:var(--text-secondary)}[data-theme=dark] .btn-primary{background-color:var(--primary-color)}[data-theme=dark] .btn-primary:hover{background-color:var(--primary-hover)}[data-theme=dark] .btn-secondary{background-color:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .btn-secondary:hover{background-color:var(--bg-secondary)}.incident-management{margin:0 auto;max-width:1400px;padding:20px}.incident-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.incident-header h1{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:28px;margin:0}.incident-loading{color:#666;color:var(--text-secondary,#666);font-size:18px;padding:50px;text-align:center}.error-message{align-items:center;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.error-message button{background:none;border:none;color:#c33;cursor:pointer;font-size:20px}.incident-statistics{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.incident-statistics .stat-card{background:#fff!important;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center;transition:all .2s ease}.incident-statistics .stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}[data-theme=dark] .incident-statistics .stat-card{background:var(--card-bg)!important;border:1px solid #374151}.incident-statistics .stat-card h3{color:#666;color:var(--text-secondary,#666);font-size:14px;font-weight:600;margin:0 0 10px;opacity:1;text-shadow:none;text-transform:uppercase}[data-theme=dark] .incident-statistics .stat-card h3{color:var(--text-secondary)}.stat-value{color:#1a1a1a;color:var(--text-primary,#1a1a1a);margin:0;text-shadow:none}.incident-filters{display:flex;gap:15px;margin-bottom:20px}.filter-select{background:#fff;background:var(--input-background,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;color:#1a1a1a;color:var(--text-primary,#1a1a1a);cursor:pointer;font-size:14px;padding:10px 15px}.incidents-table{background:#fff;background:var(--card-background,#fff);border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.incidents-table table{border-collapse:collapse;width:100%}.incidents-table td,.incidents-table th{border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);padding:15px;text-align:left}.incidents-table th{background:#f8f9fa;background:var(--table-header-background,#f8f9fa);color:#666;color:var(--text-secondary,#666);font-size:12px}.incidents-table tbody tr:hover{background:#f8f9fa;background:var(--table-hover-background,#f8f9fa)}.priority-badge,.status-badge{border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-active{background-color:#10b981;color:#fff}.status-inactive{background-color:#6b7280;color:#fff}.btn-danger,.btn-primary,.btn-secondary,.btn-small{border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-primary{background:#2563eb}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#6b7280}.btn-secondary:hover{background:#4b5563}.btn-small{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:12px;padding:6px 12px}.btn-small:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.btn-danger{background:#dc2626}.btn-danger:hover{background:#b91c1c}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf}.modal{background:var(--card-bg);border-radius:12px;box-shadow:0 20px 60px var(--shadow-color);color:var(--text-primary);max-height:90vh;max-width:600px;overflow-y:auto;width:100%}[data-theme=dark] .modal{background:#1e1e1e;border:1px solid #3a3a3a}.modal-large{max-width:900px}.modal-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0}[data-theme=dark] .modal-header{background:#252525;border-bottom-color:#3a3a3a}.modal-header h2{color:var(--text-primary);font-weight:600}.modal-header button{background:none;border:none;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:24px;height:30px;padding:0;width:30px}.modal-actions{border-top:1px solid #eee;border-top:1px solid var(--border-color,#eee);padding:20px}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--input-background,#fff);border:1px solid var(--border-color,#ddd);border-radius:8px;color:#1a1a1a;color:var(--text-primary,#1a1a1a)}.incident-details{display:flex;flex-direction:column;gap:25px}.detail-section h3{border-bottom:2px solid #eee;border-bottom:2px solid var(--border-color,#eee);color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:16px;margin:0 0 15px;padding-bottom:8px}.detail-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.detail-grid>div{padding:10px 0}.detail-grid strong{color:#666;color:var(--text-secondary,#666);display:block;font-size:12px;margin-bottom:5px;text-transform:uppercase}.inline-select{background:#fff;background:var(--input-background,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;color:#1a1a1a;color:var(--text-primary,#1a1a1a);cursor:pointer;font-size:14px;margin-top:5px;padding:5px 10px}.comments-list{margin-bottom:15px;max-height:300px;overflow-y:auto}.comment{background:#f8f9fa;background:var(--comment-background,#f8f9fa);border-radius:8px;margin-bottom:10px;padding:12px}.comment p{color:#1a1a1a;color:var(--text-primary,#1a1a1a);margin:0 0 8px}.comment small{color:#666;color:var(--text-secondary,#666);font-size:12px}.add-comment{display:flex;flex-direction:column;gap:10px}.add-comment textarea{background:#fff;background:var(--input-background,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:14px;padding:10px;resize:vertical;width:100%}.incident-management,[data-theme=light] .incident-management{--text-primary:#1a1a1a;--text-secondary:#666;--card-background:#fff;--modal-background:#fff;--input-background:#fff;--border-color:#ddd;--table-header-background:#f8f9fa;--table-hover-background:#f8f9fa;--button-background:#e5e7eb;--button-hover-background:#d1d5db;--comment-background:#f8f9fa}[data-theme=dark] .incident-management{--text-primary:var(--text-primary,#f5f5f5);--text-secondary:var(--text-secondary,#b0b0b0);--card-background:var(--card-bg,#1e1e1e);--modal-background:var(--card-bg,#1e1e1e);--input-background:var(--input-bg,#2d2d2d);--border-color:var(--border-color,#3a3a3a);--table-header-background:#252525;--table-hover-background:var(--table-hover,#2d2d2d);--button-background:#2d2d2d;--button-hover-background:#3a3a3a;--comment-background:#252525}@media (max-width:768px){.incident-header{align-items:flex-start;gap:15px}.incident-filters,.incident-header{flex-direction:column}.incidents-table{overflow-x:auto}.detail-grid,.form-row{grid-template-columns:1fr}.modal{margin:10px;max-width:100%}}[data-theme=dark] .btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}[data-theme=dark] .btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}[data-theme=dark] .btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}[data-theme=dark] .btn-small{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-small:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}[data-theme=dark] .btn-danger{background:#ef4444;border-color:#ef4444;color:#fff}[data-theme=dark] .btn-danger:hover{background:#dc2626;border-color:#dc2626}.ehs-dashboard{background-color:#f3f4f6;margin:0 auto;max-width:1400px;min-height:calc(100vh - 64px);padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:flex-end;margin-bottom:2rem}.header-controls{align-items:center;display:flex;gap:1rem}.btn-pdf{background:linear-gradient(90deg,#10b981,#0ea5e9);border:none;border-radius:.375rem;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-pdf:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-pdf:active{transform:translateY(0)}[data-theme=dark] .btn-pdf{background:linear-gradient(90deg,#059669,#0284c7)}.month-selector,.project-selector,.year-selector{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;font-size:1rem;padding:.5rem 1rem}[data-theme=dark] .month-selector,[data-theme=dark] .project-selector,[data-theme=dark] .year-selector{background-color:#2d2d2d;border-color:#4a4a4a;color:#f5f5f5}[data-theme=dark] .month-selector option,[data-theme=dark] .project-selector option,[data-theme=dark] .year-selector option{background-color:#2d2d2d;color:#f5f5f5}.work-data-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.card-header h2{color:#1f2937;font-size:1.25rem;margin:0}.btn-cancel,.btn-edit,.btn-save{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.btn-edit{background-color:#3b82f6;color:#fff}.btn-edit:hover{background-color:#2563eb}.btn-save{background-color:#10b981}.btn-save:hover{background-color:#059669}.btn-cancel{background-color:#6b7280}.btn-cancel:hover{background-color:#4b5563}.work-data-form{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.form-group{display:flex;flex-direction:column}.form-group input{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;padding:.5rem}.form-actions{display:flex;gap:.5rem;grid-column:span 3;justify-content:flex-end}.work-data-display{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(4,1fr)}.data-item{display:flex;flex-direction:column}.data-item .label{color:#6b7280;font-size:.875rem;margin-bottom:.25rem}.data-item .value{color:#1f2937;font-size:1.5rem;font-weight:600}.kpi-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.kpi-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;text-align:center}.kpi-card h3{color:#6b7280;font-size:.875rem;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.kpi-value{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.kpi-label{color:#9ca3af;font-size:.75rem}.pyramid-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.pyramid-card h2{color:#1f2937;font-size:1.25rem;margin:0 0 1.5rem}.pyramid{flex-direction:column;gap:.4rem;margin:0 auto;max-width:900px;padding:2rem 0}.pyramid,.pyramid-level{align-items:center;display:flex}.pyramid-level{border-radius:.25rem;box-shadow:0 2px 4px #00000026;color:#fff;cursor:pointer;font-weight:600;justify-content:space-between;padding:.9rem 1.5rem;position:relative;transition:all .3s ease}.pyramid-level:before{background:linear-gradient(180deg,#ffffff26,#0000);border-radius:.25rem;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.pyramid-level:hover{box-shadow:0 4px 8px #00000040;transform:scale(1.03) translateY(-2px)}.pyramid-level.level-1{min-width:180px;width:15%}.pyramid-level.level-2{min-width:220px;width:22%}.pyramid-level.level-3{min-width:260px;width:30%}.pyramid-level.level-4{min-width:300px;width:38%}.pyramid-level.level-5{min-width:340px;width:46%}.pyramid-level.level-6{min-width:380px;width:54%}.pyramid-level.level-7{min-width:420px;width:62%}.pyramid-level.level-8{min-width:460px;width:70%}.pyramid-level.level-9{min-width:500px;width:78%}.pyramid-level.level-10{min-width:540px;width:86%}.level-label{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #0003;white-space:nowrap}.level-count{font-size:1.4rem;font-weight:700;min-width:40px;text-align:right;text-shadow:0 1px 2px #0000004d}.level-fatalities{background-color:#991b1b}.level-ltis{background-color:#dc2626}.level-recordables{background-color:#ea580c}.level-firstaid{background-color:#f59e0b}.level-nearmiss{background-color:#eab308}.level-unsafe-behavior{background-color:#84cc16}.level-unsafe-condition{background-color:#22c55e}.level-property{background-color:#14b8a6}.level-environment{background-color:#06b6d4}.level-observations{background-color:#3b82f6}.matrix-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.matrix-card h2{color:#1f2937;font-size:1.25rem;margin:0 0 1.5rem}.matrix-wrapper{overflow-x:auto}.matrix-table{border-collapse:collapse;font-size:.875rem;width:100%}.matrix-table td,.matrix-table th{border:1px solid #e5e7eb;padding:.75rem .5rem;text-align:center}.matrix-table thead{background-color:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:10}.matrix-table td.category-cell,.matrix-table th.category-header{background:#fff;font-weight:600;left:0;min-width:200px;position:-webkit-sticky;position:sticky;text-align:left;z-index:5}.matrix-table thead th.category-header{background-color:#f9fafb;z-index:15}.matrix-table th.month-header{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;min-width:50px;text-transform:uppercase}.matrix-table th.total-header{background-color:#f3f4f6;color:#1f2937;font-weight:700;min-width:70px}.matrix-table tbody tr{transition:background-color .15s ease}.matrix-table tbody tr:hover{background-color:#f9fafb}.matrix-table tbody tr.has-incidents{background-color:#fefce8}.matrix-table tbody tr.has-incidents:hover{background-color:#fef9c3}.matrix-table td.count-cell{color:#9ca3af;font-size:.875rem}.matrix-table td.count-cell.has-count{background-color:#fef3c7;color:#1f2937;font-weight:600}.matrix-table td.total-cell{background-color:#f9fafb;color:#1f2937;font-weight:600}.matrix-table tr.totals-row{background-color:#f3f4f6;font-weight:700}.matrix-table tr.totals-row td{border-top:2px solid #d1d5db}.matrix-table td.grand-total-cell{background-color:#e5e7eb;color:#1f2937;font-size:1rem;font-weight:700}[data-theme=dark] .matrix-card{background:var(--card-bg);border:1px solid #374151}[data-theme=dark] .matrix-card h2{color:var(--text-primary)}[data-theme=dark] .matrix-table td,[data-theme=dark] .matrix-table th{border-color:#374151;color:var(--text-primary)}[data-theme=dark] .matrix-table th.category-header,[data-theme=dark] .matrix-table thead{background-color:#1f2937}[data-theme=dark] .matrix-table td.category-cell{background-color:var(--card-bg)}[data-theme=dark] .matrix-table tbody tr:hover{background-color:#1f2937}[data-theme=dark] .matrix-table tbody tr.has-incidents{background-color:#422006}[data-theme=dark] .matrix-table tbody tr.has-incidents:hover{background-color:#713f12}[data-theme=dark] .matrix-table td.count-cell.has-count{background-color:#854d0e;color:#fef3c7}[data-theme=dark] .matrix-table td.total-cell{background-color:#1f2937}[data-theme=dark] .matrix-table tr.totals-row{background-color:#374151}[data-theme=dark] .matrix-table td.grand-total-cell{background-color:#4b5563}.incidents-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.incidents-card h2{color:#1f2937;font-size:1.25rem;margin:0 0 1.5rem}[data-theme=dark] .incidents-card{background:var(--card-bg);border:1px solid #374151}[data-theme=dark] .incidents-card h2{color:var(--text-primary)}.incidents-list{overflow-x:auto}.incidents-table{border-collapse:collapse;width:100%}.incidents-table thead{background-color:#f9fafb}.incidents-table th{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-align:left;text-transform:uppercase}.incidents-table td,.incidents-table th{border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.incidents-table td{color:#1f2937;font-size:.875rem}.incidents-table tbody tr{cursor:pointer;transition:background-color .2s}.incidents-table tbody tr:hover{background-color:#f9fafb}.severity-badge,.status-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.25rem .75rem;text-transform:uppercase}.severity-low{background-color:#dbeafe;color:#1e40af}.severity-medium{background-color:#fef3c7;color:#92400e}.severity-high{background-color:#fed7aa;color:#9a3412}.severity-critical{background-color:#fecaca;color:#991b1b}.status-open{background-color:#dbeafe;color:#1e40af}.status-in_progress{background-color:#fef3c7;color:#92400e}.status-resolved{background-color:#d1fae5;color:#065f46}.status-closed{background-color:#e5e7eb;color:#374151}.no-data{color:#6b7280;font-style:italic;padding:2rem}.error,.loading{color:#6b7280;font-size:1.125rem;padding:3rem;text-align:center}.error{color:#dc2626}@media (max-width:1024px){.kpi-cards,.work-data-display{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.kpi-cards,.work-data-display,.work-data-form{grid-template-columns:1fr}.form-actions{grid-column:span 1}}.camera-capture-overlay{align-items:center;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.camera-capture-container{background:#1a1a1a;border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.camera-header{align-items:center;background:#2a2a2a;border-bottom:2px solid #3a3a3a;display:flex;justify-content:space-between;padding:20px}.camera-header h3{color:#fff;font-size:20px;margin:0}.close-btn{background:#0000;color:#fff;font-size:32px;height:32px;line-height:1;transition:transform .2s;width:32px}.close-btn:hover{transform:scale(1.2)}.camera-error{background:#dc3545;border-radius:8px;color:#fff;margin:20px;padding:15px;text-align:center}.camera-viewport{align-items:center;background:#000;display:flex;flex:1 1;justify-content:center;min-height:400px;position:relative}.camera-video,.captured-image{height:100%;object-fit:contain;width:100%}.camera-controls{background:#2a2a2a;gap:20px;padding:30px}.btn-capture,.camera-controls{align-items:center;display:flex;justify-content:center}.btn-capture{background:#dc3545;border:4px solid #fff;border-radius:50%;cursor:pointer;font-size:32px;height:80px;transition:all .2s;width:80px}.btn-capture:hover{box-shadow:0 0 20px #dc354580;transform:scale(1.1)}.btn-capture:active{transform:scale(.95)}.btn-camera-action{align-items:center;background:#4a4a4a;border:2px solid #fff;border-radius:50%;cursor:pointer;display:flex;font-size:24px;height:50px;justify-content:center;transition:all .2s;width:50px}.btn-camera-action:hover{background:#5a5a5a;transform:scale(1.1)}@media (max-width:768px){.camera-capture-overlay{padding:0}.camera-capture-container{border-radius:0;max-height:100vh;max-width:100%}.camera-viewport{min-height:60vh}.btn-capture{font-size:28px;height:70px;width:70px}.btn-camera-action{font-size:20px;height:45px;width:45px}}@media (max-width:480px){.camera-header h3{font-size:16px}.camera-controls{gap:15px;padding:20px}.btn-capture{font-size:24px;height:60px;width:60px}.btn-camera-action{font-size:18px;height:40px;width:40px}}.ehs-todos-container{background-color:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.ehs-todos-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.ehs-todos-header h1{color:#333;font-size:28px;margin:0}.statistics-grid{grid-gap:20px;gap:20px;margin-bottom:30px}.stat-card{background:#fff!important;border:1px solid #e9ecef;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center}.stat-card h3{color:#666;font-size:14px;font-weight:600;margin:0 0 10px;text-transform:uppercase}.stat-value{color:#007bff;font-size:32px}.stat-card-warning{background:#fff!important}.stat-card-warning .stat-value{color:#dc3545}.filters-section{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.search-input{min-width:200px}.filters-section select,.search-input{background:#fff!important;color:#212529!important;font-size:14px;padding:10px 15px}.filters-section select{border:1px solid #ddd;border-radius:4px;cursor:pointer}.todos-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.todo-card{background:#fff!important;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .3s}.todo-card:hover{box-shadow:0 4px 12px #00000026}.todo-overdue{border-left:4px solid #dc3545}.todo-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.todo-title-section h3{color:#333;font-size:18px;margin:0 0 10px}.todo-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{border-radius:4px;display:inline-block;font-size:12px;padding:4px 8px;text-transform:uppercase}.badge-urgent{background:#dc3545;color:#fff}.badge-high{background:#fd7e14;color:#fff}.badge-medium{background:#ffc107;color:#333}.badge-low{background:#6c757d;color:#fff}.badge-completed{background:#28a745;color:#fff}.badge-in-progress{background:#007bff;color:#fff}.badge-open{background:#17a2b8;color:#fff}.badge-cancelled{background:#6c757d;color:#fff}.badge-category{background:#e9ecef;color:#495057}.todo-actions{display:flex;gap:8px}.btn-icon{background:#0000;border:none;cursor:pointer;font-size:18px;padding:4px 8px;transition:transform .2s}.btn-icon:hover{transform:scale(1.2)}.todo-description{color:#666;line-height:1.5;margin:0 0 15px}.todo-meta{color:#666;display:flex;flex-wrap:wrap;font-size:14px;gap:15px;margin-bottom:15px}.overdue-date{color:#dc3545;font-weight:700}.todo-progress{align-items:center;display:flex;gap:10px;margin-bottom:15px}.progress-bar{background:#e9ecef;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#007bff,#0056b3);height:100%;transition:width .3s}.progress-text{color:#666;font-size:12px;font-weight:600;min-width:40px}.todo-controls{align-items:center;display:flex;gap:10px}.status-select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:13px;padding:8px}.progress-slider,.status-select{cursor:pointer;flex:1 1}.btn-primary{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .3s}.btn-primary:disabled{background:#6c757d;cursor:not-allowed}.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .3s}.modal-overlay{padding:20px}.modal-content{background:#fff!important;box-shadow:0 10px 40px #0000004d}.modal-header{border-bottom:1px solid #e9ecef}.modal-header h2{color:#333;font-size:20px}.modal-close{background:#0000;color:#999;font-size:32px}.modal-content form{padding:20px}.form-group{margin-bottom:20px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;width:100%}.form-row{grid-gap:15px;gap:15px}.modal-actions{border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:flex-end;padding-top:20px}.loading,.no-todos{color:#999;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:768px){.todos-list{grid-template-columns:1fr}.filters-section{flex-direction:column}.filters-section select,.search-input{width:100%}.form-row{grid-template-columns:1fr}.statistics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.statistics-grid{grid-template-columns:1fr}.ehs-todos-header{align-items:flex-start;flex-direction:column;gap:15px}}.attachments-section{margin-top:15px}.btn-camera{align-items:center;background-color:#2196f3!important;border:none;border-radius:5px;color:#fff!important;cursor:pointer;display:flex;font-size:14px;gap:8px;margin-bottom:15px;padding:10px 20px}.btn-camera:hover{background-color:#1976d2!important}.attachments-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.attachment-item{border-radius:8px;box-shadow:0 2px 4px #0000001a;height:100px;overflow:hidden;position:relative;width:100px}.attachment-thumbnail{height:100%;object-fit:cover;width:100%}.btn-remove-attachment{align-items:center;background-color:#f44336e6!important;border:none;border-radius:50%;color:#fff!important;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;padding:0;position:absolute;right:5px;top:5px;width:24px}.btn-remove-attachment:hover{background-color:#d32f2f!important}.my-approvals-page{margin:0 auto;max-width:1400px;padding:20px}.my-approvals-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.my-approvals-header h1{color:var(--text-primary);font-size:28px;margin:0}.approval-count{position:relative}.badge{background:var(--primary-color);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:6px 12px}.loading{color:var(--text-secondary);font-size:16px;padding:60px 20px}.no-approvals{padding:80px 20px;text-align:center}.no-approvals .icon{color:var(--success-color);font-size:64px;margin-bottom:20px}.no-approvals h2{color:var(--text-primary);margin-bottom:12px}.no-approvals p{color:var(--text-secondary);font-size:16px}.approvals-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.approval-card{background:var(--card-background);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:12px;overflow:hidden;transition:all .3s ease}.approval-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.approval-card-header{align-items:center;background:var(--background-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px}.workflow-badge{background:var(--primary-color);border-radius:6px;color:#fff;font-size:13px;font-weight:600;padding:4px 12px}.approval-date{color:var(--text-secondary);font-size:12px}.approval-card-body{padding:20px}.approval-step{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:8px;margin-bottom:16px;padding-bottom:16px}.step-icon{font-size:20px}.step-name{color:var(--text-primary);font-size:15px;font-weight:600}.invoice-info{display:flex;flex-direction:column;gap:8px}.invoice-number{color:var(--text-primary);font-size:14px;font-weight:600}.customer-name{color:var(--text-secondary);font-size:13px}.invoice-amount{color:var(--primary-color);font-size:20px;font-weight:700;margin-top:4px}.approval-card-actions{background:var(--background-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding:16px}.btn-approve{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.btn-approve:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px)}.btn-approve:disabled{cursor:not-allowed;opacity:.6}.approval-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.approval-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.approval-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px}.approval-modal-header h2{color:#333;font-size:20px;margin:0}.btn-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.btn-close:hover{background:#f0f0f0;color:#333}.approval-modal-body{background:#fff;padding:24px}.approval-details{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:16px}.detail-row{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#666;font-size:13px;font-weight:600}.detail-row .value{color:#333;font-size:14px;font-weight:500}.form-group{margin-bottom:0}.form-group textarea{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;font-family:inherit;font-size:14px;min-height:100px;padding:12px;resize:vertical;width:100%}.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #4a5fd51a;outline:none}.approval-modal-actions{background:#f8f9fa;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-reject{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.btn-reject:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.btn-reject:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.my-approvals-page{padding:12px}.my-approvals-header h1{font-size:22px}.approvals-grid{grid-template-columns:1fr}.approval-modal{width:95%}.approval-modal-actions,.approval-modal-body,.approval-modal-header{padding:16px}}.messages-page{margin:0 auto;max-width:1400px;padding:20px}.messages-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.messages-header h1{font-size:28px;margin:0}.messages-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:20px;height:calc(100vh - 200px);overflow:hidden}.messages-sidebar{background:#f8f9fa;border-right:1px solid #e0e0e0;padding:20px;width:250px}.folder-list{display:flex;flex-direction:column;gap:8px}.folder-item{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:15px;gap:10px;padding:12px 16px;position:relative;text-align:left;transition:all .2s}.folder-item:hover{background:#007bff1a}.folder-item.active{background:#007bff;color:#fff;font-weight:600}.folder-icon{font-size:20px}.folder-name{flex:1 1}.unread-badge{background:#dc3545;border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:2px 8px}.folder-item.active .unread-badge{background:#ffffff4d}.messages-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.messages-toolbar{align-items:center;background:#f0f8ff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 20px}.toolbar-actions{display:flex;gap:8px}.toolbar-actions button{background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 12px}.toolbar-actions button:hover{background:#f8f9fa}.message-list-header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;gap:12px;padding:12px 20px}.message-count{color:#666;font-size:14px}.message-list{flex:1 1;overflow-y:auto}.messages-empty,.messages-loading{align-items:center;color:#999;display:flex;font-size:16px;height:100%;justify-content:center}.message-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:16px 20px;transition:background .2s}.message-item:hover{background:#f8f9fa}.message-item.unread{background:#f0f8ff;font-weight:600}.message-item.selected{background:#e3f2fd}.message-item input[type=checkbox]{cursor:pointer}.message-content{flex:1 1;min-width:0}.message-sender{align-items:center;color:#333;display:flex;font-size:14px;gap:8px;margin-bottom:4px}.message-type-badge{background:#6c757d;border-radius:4px;color:#fff;display:inline-block;font-size:11px;padding:2px 8px;text-transform:uppercase}.message-subject{color:#000;font-size:15px;margin-bottom:4px}.message-preview,.message-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-preview{color:#666;font-size:13px}.message-date{color:#999;font-size:13px;white-space:nowrap}.compose-message-page{margin:0 auto;max-width:900px;padding:20px}.compose-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.compose-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px}.compose-form .form-group{margin-bottom:20px}.compose-form label{color:#333;display:block;font-weight:600;margin-bottom:8px}.compose-form input,.compose-form select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.compose-form select{cursor:pointer}.editor-toolbar{background:#f8f9fa;border:1px solid #ddd;border-bottom:none;border-radius:4px 4px 0 0;display:flex;gap:4px;padding:8px}.editor-toolbar button{background:#fff;border:1px solid #ddd;border-radius:3px;cursor:pointer;font-size:13px;padding:6px 12px;transition:background .2s}.editor-toolbar button:hover{background:#e9ecef}.message-editor{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;font-size:14px;line-height:1.6;max-height:500px;min-height:300px;overflow-y:auto;padding:15px}.message-editor:focus{border-color:#007bff;outline:none}.message-editor[data-placeholder]:empty:before{color:#999;content:attr(data-placeholder);font-style:italic}.compose-actions{display:flex;gap:12px;margin-top:20px}.message-detail-page{margin:0 auto;max-width:900px;padding:20px}.message-detail-error,.message-detail-loading{align-items:center;color:#999;display:flex;font-size:16px;height:400px;justify-content:center}.message-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.message-actions{display:flex;gap:8px}.message-detail-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.message-header-info{border-bottom:1px solid #e0e0e0;padding:30px}.message-header-info h1{color:#333;font-size:24px;margin:0 0 20px}.message-metadata{display:flex;flex-direction:column;gap:8px}.metadata-row{display:flex;font-size:14px;gap:12px}.metadata-label{color:#666;font-weight:600;min-width:80px}.metadata-value{color:#333}.message-reply-context{background:#f8f9fa;border-left:3px solid #007bff;color:#666;font-size:14px;margin:0;padding:15px 30px}.message-body{color:#333;font-size:15px;line-height:1.6;padding:30px}.message-body p{margin-bottom:15px}.message-body ol,.message-body ul{margin-bottom:15px;margin-left:20px}.message-body a{color:#007bff;text-decoration:none}.message-body a:hover{text-decoration:underline}.message-replies{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:30px}.message-replies h3{font-size:18px;margin:0 0 15px}.reply-item{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;margin-bottom:8px;padding:12px;transition:all .2s}.reply-item:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.reply-sender{color:#333;font-size:14px;font-weight:600}.reply-subject{color:#666;font-size:13px;margin:4px 0}.reply-date{color:#999;font-size:12px}@media (max-width:768px){.messages-container{flex-direction:column;height:auto}.messages-sidebar{border-bottom:1px solid #e0e0e0;border-right:none;width:100%}.folder-list{flex-direction:row;overflow-x:auto}.folder-item{white-space:nowrap}}.document-approval-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:20px}.approval-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.approval-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.approval-error{background-color:#fee2e2;border-radius:6px;color:#dc2626;font-size:.875rem;margin-bottom:16px;padding:12px}.approval-history{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.approval-history-item{align-items:flex-start;background:#f9fafb;border-radius:6px;display:flex;gap:12px;padding:12px}.history-icon{font-size:1.5rem;line-height:1}.history-details{flex:1 1}.history-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.025em;margin-bottom:4px;text-transform:uppercase}.history-value{color:#111827;font-size:.875rem}.rejection-reason{background:#fef2f2;border-left:3px solid #dc2626;border-radius:4px;color:#991b1b;font-size:.875rem;margin-top:8px;padding:8px}.approval-actions{display:flex;flex-wrap:wrap;gap:12px}.approval-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 20px;transition:all .2s}.approval-actions .btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#2563eb}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-success{background-color:#059669}.btn-success:hover:not(:disabled){background-color:#047857}.btn-danger{background-color:#dc2626}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-secondary{background-color:#6b7280}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.modal-content{background:#fff;box-shadow:0 20px 25px -5px #0000001a;max-width:500px;width:90%}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px}.modal-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.modal-close{color:#6b7280;font-size:1.5rem;height:32px;width:32px}.modal-close:hover{background-color:#f3f4f6;color:#111827}.modal-body{padding:20px}.modal-body p{color:#374151;margin-bottom:12px;margin-top:0}.modal-body textarea{resize:vertical}.modal-body select,.modal-body textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;padding:10px;width:100%}.modal-body select{background-color:#fff;cursor:pointer}.modal-body select:focus,.modal-body textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.modal-footer{border-top:1px solid #e5e7eb;gap:12px;padding:20px}body.dark-mode .document-approval-panel{background:#1f2937;border-color:#374151}body.dark-mode .approval-header{border-bottom-color:#374151}body.dark-mode .approval-header h3{color:#f9fafb}body.dark-mode .approval-error{background-color:#450a0a;color:#fca5a5}body.dark-mode .approval-history-item{background:#111827}body.dark-mode .history-label{color:#9ca3af}body.dark-mode .history-value{color:#f9fafb}body.dark-mode .rejection-reason{background:#450a0a;border-left-color:#dc2626;color:#fca5a5}body.dark-mode .modal-content{background:#1f2937}body.dark-mode .modal-header{border-bottom-color:#374151}body.dark-mode .modal-header h3{color:#f9fafb}body.dark-mode .modal-close{color:#9ca3af}body.dark-mode .modal-close:hover{background-color:#374151;color:#f9fafb}body.dark-mode .modal-body p{color:#d1d5db}body.dark-mode .modal-body select,body.dark-mode .modal-body textarea{background:#111827;border-color:#374151;color:#f9fafb}body.dark-mode .modal-body select:focus,body.dark-mode .modal-body textarea:focus{border-color:#2563eb}body.dark-mode .modal-footer{border-top-color:#374151}.orders-page{margin:0 auto;max-width:1400px;padding:2rem}.orders-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.orders-header h1{color:#333;font-size:2rem;margin:0}.subtitle{color:#666;font-size:.95rem;margin:.5rem 0 0}.statistics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-left:4px solid #3b82f6;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.stat-card.status-requested{border-left-color:#f59e0b}.stat-card.status-approved{border-left-color:#10b981}.stat-card.status-ordered{border-left-color:#6366f1}.stat-label{color:#666;font-size:.875rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:#333;font-size:1.75rem;font-weight:700}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-input{flex:1 1;min-width:250px}.filters select,.search-input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem}.filters select{background:#fff;min-width:150px}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer}.orders-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.orders-table{border-collapse:collapse;width:100%}.orders-table thead{background:#f8f9fa}.orders-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.orders-table td{border-bottom:1px solid #f0f0f0;padding:1rem}.clickable-row{cursor:pointer;transition:background-color .2s}.clickable-row:hover{background-color:#f8f9fa}.no-data{color:#999;padding:3rem!important;text-align:center}.status-badge{font-size:.75rem;letter-spacing:.5px}.status-draft{background:#e5e7eb;color:#4b5563}.status-requested{background:#fef3c7;color:#d97706}.status-approved{background:#d1fae5;color:#059669}.status-ordered{background:#dbeafe;color:#2563eb}.status-partial{background:#e0e7ff;color:#6366f1}.status-received{background:#d1fae5;color:#059669}.status-cancelled,.status-rejected{background:#fee2e2;color:#dc2626}.priority-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.priority-low{background:#e5e7eb;color:#6b7280}.priority-medium{background:#dbeafe;color:#2563eb}.priority-high{background:#fef3c7;color:#d97706}.priority-urgent{background:#fee2e2;color:#dc2626}.action-buttons{display:flex;gap:.5rem}.btn{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{font-size:.875rem;padding:.25rem .5rem}.loading{color:#666;font-size:1.1rem;padding:3rem;text-align:center}.error-message{background:#fee2e2;border-left:4px solid #dc2626;border-radius:4px;color:#dc2626;margin-bottom:1.5rem;padding:1rem}@media (prefers-color-scheme:dark){.orders-page{color:#e5e7eb}.orders-header h1,.orders-table th,.stat-value{color:#f3f4f6}.stat-label,.subtitle{color:#9ca3af}.orders-table-container,.stat-card{background:#1f2937}.orders-table thead{background:#374151}.orders-table td{border-bottom-color:#374151}.clickable-row:hover{background-color:#374151}.filters select,.search-input{background:#374151;border-color:#4b5563;color:#f3f4f6}}.project-planning-page{background:var(--background-color);display:flex;flex-direction:column;min-height:100vh}.planning-container{flex:1 1;max-width:100%;overflow-x:auto;padding:2rem;position:relative}.view-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:0;margin-bottom:1.5rem}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;bottom:-2px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;max-width:200px;padding:1rem 2rem;position:relative;transition:all .3s ease}.tab-button:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-button.active{background:#0000;border-bottom-color:var(--primary-color);color:var(--primary-color)}.project-selector{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.project-selector label{color:var(--text-primary);font-weight:600;min-width:60px}.project-selector select{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:1rem;max-width:400px;padding:.75rem 1rem;transition:border-color .2s ease}.project-selector select:focus,.project-selector select:hover{border-color:var(--primary-color)}.project-selector select:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-new-task{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.btn-new-task:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-new-task:disabled{cursor:not-allowed;opacity:.5}.saving-indicator{animation:slideInRight .3s ease-out;background:#10b981;box-shadow:0 4px 12px #10b98166}.saving-indicator,.success-indicator{border-radius:8px;color:#fff;font-weight:600;padding:.75rem 1.5rem;position:fixed;right:20px;top:80px;z-index:1000}.success-indicator{animation:slideInRight .3s ease-out,fadeOut .5s ease-out 1.5s forwards;background:#059669;box-shadow:0 4px 12px #05966966}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.planning-header{align-items:center;background:var(--card-background);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.view-controls{align-items:center;display:flex;gap:.5rem}.view-controls label{color:var(--text-color);font-weight:600;margin-right:.5rem}.view-controls button{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.view-controls button:hover{background:#f5f5f5;border-color:#007bff}.view-controls button.active{background:#007bff;border-color:#007bff;color:#fff}.legend{gap:1.5rem}.legend,.legend-item{align-items:center;display:flex}.legend-item{color:var(--text-color);font-size:.9rem;gap:.5rem}.legend-color{border:1px solid #0000001a;border-radius:4px;height:20px;width:20px}.btn-refresh{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s}.btn-refresh:hover{background:#0056b3}.gantt-wrapper{background:var(--card-background);border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;padding:1rem}.gantt-wrapper .gantt-table{font-family:inherit}.gantt-wrapper .gantt-table-header{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.gantt-wrapper .gantt-table-row{border-bottom:1px solid #e9ecef}.gantt-wrapper .gantt-table-row:hover{background-color:#f8f9fa}.loading-state{align-items:center;color:var(--text-color);display:flex;flex-direction:column;justify-content:center;padding:4rem}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:50px;margin-bottom:1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{align-items:center;background:var(--card-background);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:4rem}.empty-state p{color:var(--text-color);font-size:1.1rem;margin-bottom:1rem}.empty-state button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .2s}.empty-state button:hover{background:#0056b3}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--card-background);border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:var(--text-color);font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:40px}.modal-close:hover{background:#f0f0f0;color:#333}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:all .2s;width:40px}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-color);display:block;font-weight:600;margin-bottom:.5rem}.form-group input[type=date],.form-group input[type=text],.form-group select,.form-group textarea{background:var(--background-color);border:1px solid #dee2e6;border-radius:6px;color:var(--text-color);font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input[type=date]:focus,.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input[type=range]{margin-top:.5rem;width:100%}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.info-row{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1rem}.info-row strong{color:var(--text-color);min-width:120px}.info-row p,.info-row span{color:var(--text-secondary);flex:1 1}.info-row p{line-height:1.6;margin:0}.status-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-badge.active{background:#dbeafe;color:#1e40af}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.on_hold{background:#fef3c7;color:#92400e}.status-badge.cancelled{background:#fee2e2;color:#991b1b}.modal-footer{border-top:1px solid #dee2e6;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.btn-cancel{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel:hover{background:#5a6268}.btn-save{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-save:hover{background:#0056b3}.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:.95rem;padding:.5rem 1rem;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.planning-info{background:#f8f9fa;border-top:1px solid #dee2e6;padding:1.5rem 2rem}.planning-info p{color:#495057;font-size:.9rem;margin:.5rem 0}body.dark-mode .view-controls button{background:#2d3748;border-color:#4a5568;color:#e2e8f0}body.dark-mode .view-controls button:hover{background:#374151;border-color:#60a5fa}body.dark-mode .view-controls button.active{background:#3b82f6;color:#fff}body.dark-mode .gantt-wrapper .gantt-table-header{background-color:#2d3748;border-bottom-color:#4a5568}body.dark-mode .gantt-wrapper .gantt-table-row{border-bottom-color:#374151}body.dark-mode .gantt-wrapper .gantt-table-row:hover{background-color:#374151}body.dark-mode .close-btn:hover,body.dark-mode .modal-close:hover{background:#374151;color:#e2e8f0}body.dark-mode .planning-info{background:#1a202c;border-top-color:#2d3748}body.dark-mode .planning-info p{color:#cbd5e0}@media (max-width:768px){.planning-header{align-items:stretch;flex-direction:column}.legend,.view-controls{flex-wrap:wrap}.planning-container{padding:1rem}.modal-content{margin:1rem;max-width:calc(100% - 2rem)}.info-row{flex-direction:column;gap:.25rem}.info-row strong{min-width:auto}}