.sidebar{width:250px;background:#fff;color:#333;height:100vh;position:fixed;left:0;top:0;display:flex;flex-direction:column;box-shadow:2px 0 4px #0000001a;border-right:1px solid #e5e7eb;transition:width .3s ease;overflow:visible}.sidebar.collapsed{width:60px}.sidebar-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;min-height:60px}.sidebar-header h2{margin:0;font-size:18px;font-weight:600;color:#2563eb;white-space:nowrap;transition:opacity .2s}.sidebar.collapsed .sidebar-header h2{opacity:0;width:0;overflow:hidden}.sidebar-toggle-btn{background:#f3f4f6;border:none;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;font-size:16px;transition:all .2s;flex-shrink:0}.sidebar-toggle-btn:hover{background:#e5e7eb;color:#2563eb}.sidebar-menu{list-style:none;padding:20px 0 0;margin:0;flex:1;overflow:visible}.sidebar-menu li{margin:0}.sidebar-menu a{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#6b7280;text-decoration:none;transition:all .2s;border-left:3px solid transparent;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-menu a{padding:12px;justify-content:center}.sidebar-icon{font-size:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px}.sidebar-link-text{display:inline-block;flex:1;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-link-text{display:none}.sidebar-menu a:hover{background:#f3f4f6;color:#2563eb}.sidebar-menu a.active{background:#eff6ff;color:#2563eb;border-left-color:#2563eb;font-weight:500}.sidebar-menu-item-with-children{display:flex;flex-direction:column;position:relative}.sidebar-menu-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:12px 20px;background:none;border:none;color:#6b7280;text-align:left;cursor:pointer;font-size:14px;transition:all .2s;border-left:3px solid transparent}.sidebar.collapsed .sidebar-menu-toggle{padding:12px;justify-content:center}.sidebar.collapsed .sidebar-menu-toggle .sidebar-link-text,.sidebar.collapsed .sidebar-menu-toggle .sidebar-menu-arrow{display:none}.sidebar.collapsed .sidebar-menu-toggle .sidebar-icon{display:inline-flex}.sidebar-menu-toggle:hover{background:#f3f4f6;color:#2563eb}.sidebar-menu-toggle.expanded{color:#2563eb;font-weight:500}.sidebar-menu-arrow{font-size:10px;transition:transform .2s;margin-left:auto}.sidebar-menu-toggle.expanded .sidebar-menu-arrow{transform:rotate(180deg)}.sidebar-submenu{list-style:none;padding:0;margin:0;background:#f9fafb}.sidebar-submenu li{margin:0}.sidebar-submenu a{display:flex;align-items:center;gap:12px;padding:10px 20px 10px 40px;color:#6b7280;text-decoration:none;transition:all .2s;border-left:3px solid transparent;font-size:13px;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-submenu{display:none}.sidebar-dropdown-menu{position:fixed;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px #0000001a;min-width:220px;z-index:10000;padding:4px;overflow:visible}.sidebar-dropdown-menu a{display:flex;align-items:center;gap:12px;padding:10px 16px;color:#6b7280;text-decoration:none;border-radius:4px;transition:all .2s;font-size:14px}.sidebar-dropdown-menu a:hover{background:#f3f4f6;color:#2563eb}.sidebar-dropdown-menu a.active{background:#eff6ff;color:#2563eb;font-weight:500}.sidebar-menu-toggle.dropdown-open{background:#eff6ff;color:#2563eb}.sidebar-submenu a:hover{background:#f3f4f6;color:#2563eb}.sidebar-submenu a.active{background:#eff6ff;color:#2563eb;border-left-color:#2563eb;font-weight:500}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;color:#333}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:250px;display:flex;flex-direction:column;transition:margin-left .3s ease}.main-header{background:#fff;padding:20px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;position:sticky;top:0;z-index:100}.content-area{flex:1;padding:20px;max-width:1400px;width:100%;margin:0 auto}.container{max-width:1400px;margin:0 auto;padding:20px}header{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}h1{color:#2563eb}.login-container{max-width:400px;margin:100px auto;background:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 6px #0000001a}.login-container h2{margin-bottom:20px;text-align:center}.form-group{margin-bottom:20px}label{display:block;margin-bottom:5px;font-weight:500}input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}button{width:100%;padding:12px;background:#2563eb;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;font-weight:500}button:hover{background:#1d4ed8}button:disabled{background:#9ca3af;cursor:not-allowed}.error{color:#dc2626;margin-top:10px;font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.stat-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stat-card h3{font-size:14px;color:#6b7280;margin-bottom:10px}.stat-card .value{font-size:32px;font-weight:700;color:#2563eb}.stat-card-pending{border-left:4px solid #f59e0b}.stat-card-pending .value{color:#f59e0b}.stat-card-approved{border-left:4px solid #10b981}.stat-card-approved .value{color:#10b981}.stat-card-rejected{border-left:4px solid #ef4444}.stat-card-rejected .value{color:#ef4444}.stat-card-processed{border-left:4px solid #6366f1}.stat-card-processed .value{color:#6366f1}.tabs{display:flex;gap:10px;margin-bottom:20px;background:#fff;padding:10px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.tab{padding:10px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.tab:hover,.tab.active{background:#2563eb;color:#fff}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle}th{background:#f9fafb;font-weight:600;color:#374151}tr:hover{background:#f9fafb}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-rejected{background:#fee2e2;color:#991b1b}.status-processed{background:#dbeafe;color:#1e40af}.worker-status{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.worker-status h2{margin-bottom:15px;color:#2563eb}.worker-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.worker-info-item{padding:10px;background:#f9fafb;border-radius:4px}.worker-info-item label{font-size:12px;color:#6b7280;display:block;margin-bottom:5px}.worker-info-item .value{font-size:18px;font-weight:600;color:#111827}.status-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.status-indicator.running{background:#10b981;box-shadow:0 0 8px #10b981}.status-indicator.stopped{background:#ef4444}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:20px}.pagination button{width:auto;padding:8px 16px}.pagination span{color:#6b7280}td.action-buttons{vertical-align:middle;padding:12px}.action-buttons{display:grid;gap:5px;align-items:center;justify-content:flex-start}button.btn-small{padding:4px 8px!important;font-size:12px!important;width:auto!important;height:auto!important;min-height:auto!important;line-height:1.2!important;display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;margin:0!important;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;box-sizing:border-box}.btn-approve{background:#10b981}.btn-reject{background:#ef4444}.hidden{display:none}.fixed-width-col{width:100px;min-width:100px;max-width:100px;font-family:monospace;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:copy;position:relative}.fixed-width-col:hover{background:#e0f2fe}.fixed-width-col:after{content:"📋";position:absolute;right:5px;bottom:5px;font-size:16px;opacity:0;transition:opacity .2s;pointer-events:none;background:#fffffff2;padding:4px 6px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.fixed-width-col:hover:after{opacity:1}.copy-feedback{position:fixed;top:20px;right:20px;background:#10b981;color:#fff;padding:12px 24px;border-radius:8px;box-shadow:0 4px 6px #0000001a;z-index:1000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.modal-overlay.hidden{display:none!important}.modal{background:#fff;padding:30px;border-radius:8px;box-shadow:0 4px 6px #0000001a;min-width:400px;max-width:500px}.modal h3{margin-bottom:20px;color:#111827}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-actions button{width:auto;padding:10px 20px}.btn-cancel{background:#6b7280}.btn-cancel:hover{background:#4b5563}.modal-radio-group{display:flex;flex-direction:column;gap:12px;margin:20px 0}.modal-radio-option{display:flex;align-items:center;padding:12px;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s}.modal-radio-option:hover{border-color:#2563eb;background:#eff6ff}.modal-radio-option input[type=radio]{margin-right:10px;width:18px;height:18px;cursor:pointer}.modal-radio-option input[type=radio]:checked+label{color:#2563eb;font-weight:600}.modal-radio-option label{cursor:pointer;flex:1;margin:0}
