:root{--bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--panel: rgba(255, 255, 255, .95);--panel-glass: rgba(255, 255, 255, .1);--text: #1a202c;--text-light: #4a5568;--muted: #718096;--primary: #667eea;--primary-dark: #5a67d8;--accent: #f093fb;--success: #48bb78;--warning: #ed8936;--border: rgba(255, 255, 255, .2);--shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, .25);--toolbar-btn-height: 36px;--toolbar-btn-minw: 120px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;padding:0;background:var(--bg)}.shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;gap:0}.sidebar{background:var(--panel-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);padding:32px 24px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar{z-index:999;box-shadow:inset -1px 0 #0000000f}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px;color:#fff;margin-bottom:40px}.brand .dot{width:12px;height:12px;background:var(--accent);border-radius:50%;box-shadow:0 0 20px #f093fb80}.nav{display:flex;flex-direction:column;gap:8px}.nav a{color:#fffc;text-decoration:none;padding:16px 20px;border-radius:16px;display:flex;align-items:center;gap:12px;font-weight:500;transition:all .3s ease;position:relative;overflow:hidden}.nav a:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);opacity:0;transition:opacity .3s ease}.nav a:hover:before,.nav a.active:before{opacity:1}.nav a:hover,.nav a.active{color:#fff;transform:translate(4px)}.content{background:var(--panel);margin:24px;border-radius:24px;padding:32px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);min-height:calc(100vh - 48px);overflow-y:auto}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #f7fafc}.header,.header>.title,.header>.toolbar{flex-wrap:nowrap}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:nowrap}.toolbar .company-info{display:flex;gap:12px;align-items:center;margin-right:auto;white-space:nowrap}.toolbar-actions{display:flex;gap:8px;align-items:center;white-space:nowrap;flex-shrink:0}.title{margin:0;font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.toolbar{display:flex;gap:16px;align-items:center;height:40px}.toolbar .company-info{margin-right:auto}.toolbar-actions{display:flex;align-items:center;gap:8px}.toolbar button{font-size:14px;font-weight:500;transition:all .2s}.toolbar .toolbar-btn{height:var(--toolbar-btn-height);min-width:var(--toolbar-btn-minw);padding:6px 14px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid var(--primary)}.toolbar button.secondary{background:transparent;color:var(--primary)}.toolbar button.secondary:hover,.toolbar button.primary{background:var(--primary);color:#fff}.button-group .import-btn{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.button-group .toggle-btn{padding:6px 8px;border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:#0000001a;width:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.toolbar .toolbar-btn.toggle-btn[aria-pressed=true],.toolbar .toolbar-btn.toggle-btn:focus{background:var(--primary);color:#fff;border-color:var(--primary)}.button-group{position:relative;display:inline-flex;align-items:center}.import-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 6px #0000001a;min-width:180px;z-index:10;margin-top:2px}.menu-item{width:100%;padding:8px 16px;text-align:left;border:none;background:none;font-size:14px;color:var(--text);cursor:pointer;border-radius:0}.menu-item:hover{background:#f8fafc}.split-button{display:inline-flex;align-items:center;border-radius:8px;overflow:visible;position:relative;height:100%}.toolbar button{height:100%;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.split-button .toggle{padding:0 8px}.split-button .toggle{padding:8px 10px;border-left:1px solid rgba(0,0,0,.05)}.import-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e2e8f0;box-shadow:0 6px 12px #00000014;border-radius:8px;margin-top:8px;z-index:30}.import-dropdown button{display:block;min-width:180px;text-align:left;border-radius:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.row{display:flex;gap:16px;align-items:center}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.card h4{margin:0 0 16px;color:var(--text);font-weight:600;font-size:16px;border-bottom:2px solid #f1f5f9;padding-bottom:8px}.section-header{grid-column:1 / -1;font-size:20px;font-weight:700;color:var(--text);margin:40px 0 20px;padding:0;position:relative;display:flex;align-items:center;gap:12px}.section-header:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:2px}input,select,button{width:100%;background:#fff;color:var(--text);border:2px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:500;outline:none;transition:all .2s ease}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}input::placeholder{color:#94a3b8;font-weight:400}input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;font-weight:600;cursor:pointer;position:relative;overflow:hidden;box-shadow:var(--shadow)}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}button:hover:before{left:100%}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}button.secondary{background:transparent;border:2px solid var(--primary);color:var(--primary)}button.secondary:hover{background:var(--primary);color:#fff}.totals{grid-column:1 / -1;text-align:center;color:var(--text);font-weight:700;font-size:20px;padding:24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;margin:24px 0;border:2px solid #e2e8f0;box-shadow:0 4px 6px -1px #0000001a}.muted{color:var(--muted);font-weight:500}.status{padding:12px 20px;border-radius:12px;font-weight:500;background:#48bb781a;color:var(--success);border:1px solid rgba(72,187,120,.2)}.status.error{background:#f565651a;color:#e53e3e;border-color:#f5656533}.employee-selector{grid-column:1 / -1;background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:32px;box-shadow:0 4px 6px -1px #0000001a}.employee-select-wrapper{margin-bottom:16px}.employee-select{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-weight:500;background:#fff;color:var(--text);outline:none;transition:all .2s ease;max-height:200px;overflow-y:auto}.employee-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.employee-scroll-info{margin-top:8px;text-align:center}.scroll-hint{font-size:12px;color:var(--muted);font-style:italic;background:#667eea1a;padding:4px 8px;border-radius:6px;display:inline-block}.employee-selector a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .2s ease;padding:8px 16px;border-radius:8px;background:#667eea1a;display:inline-block}.employee-selector a:hover{color:var(--primary-dark);background:#667eea26}.date-input{padding:10px 14px!important;height:auto!important;font-size:14px}.field-group{display:flex;flex-direction:column;gap:4px}.field-label{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.field-label:after{content:"";margin-left:2px}.field-error{border-color:#e53e3e!important;box-shadow:0 0 0 3px #e53e3e1a!important;background-color:#fef2f2!important}.field-error:focus{border-color:#e53e3e!important;box-shadow:0 0 0 3px #e53e3e33!important}.error-text{color:#e53e3e;font-size:12px;margin-top:4px;display:block;font-weight:500}.radio-group{display:flex;gap:16px;align-items:center;padding:4px 0}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;font-size:14px;color:var(--text)}.radio-label input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--primary);cursor:pointer}.action-row{display:flex;gap:16px;align-items:center;margin-top:20px}.primary-button{flex:1;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;font-weight:600;cursor:pointer;position:relative;overflow:hidden;box-shadow:var(--shadow)}.primary-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.primary-button:hover:before{left:100%}.primary-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.config-list{background:#fff;border:1px solid #eef3fb;border-radius:8px;padding:12px;height:100%}.config-list ul{list-style:none;margin:0;padding:0}.config-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border-radius:8px;margin-bottom:10px;cursor:pointer;background:#fff;border:1px solid transparent;transition:all .15s ease}.config-item:hover{background:#fbfbfe;border-color:#e6eefc;transform:translateY(-2px)}.config-item.active{background:linear-gradient(135deg,#667eea14,#f093fb08);border-color:#667eea26;box-shadow:0 6px 12px #667eea0f}.config-item strong{font-size:13px;color:var(--text)}.config-item small{display:block;font-size:12px;color:var(--muted)}.config-list{width:100%;box-sizing:border-box}.config-list .new-btn{min-width:84px;padding:6px 10px}.config-item .config-meta{min-width:0;flex:1 1 auto}.config-item .controls{display:flex;gap:8px;align-items:center;flex-shrink:0}.btn-sm{padding:6px 10px;min-width:64px;border-radius:8px;font-size:13px}.action-row{display:flex;gap:8px;justify-content:flex-end;align-items:center}.config-item .badge{background:var(--primary);color:#fff;padding:4px 8px;border-radius:6px;font-size:12px}.employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:24px}.employee-list{display:flex;flex-direction:column;gap:16px;margin-top:24px}.employee-list-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;box-shadow:0 1px 3px -1px #0000001a;transition:all .2s ease}.employee-list-item:hover{transform:translateY(-1px);box-shadow:0 2px 4px -1px #0000001a}.employee-details{flex:1;display:flex;flex-direction:column;gap:4px}.employee-name{display:flex;align-items:center;gap:8px}.employee-name h4{margin:0;font-size:14px;font-weight:600;color:var(--text)}.employee-info-compact{display:flex;flex-direction:column;gap:2px}.info-text{font-size:11px;color:var(--text-light);font-weight:500}.employee-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.employee-actions{display:flex;gap:6px;flex-shrink:0}.employee-actions button{padding:4px 8px;font-size:11px;border-radius:4px}.pagination-controls{display:flex;align-items:center;gap:12px;margin-right:20px}.pagination-label{font-size:14px;color:var(--muted);font-weight:500}.pagination-select{width:auto;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff}.pagination-info{font-size:14px;color:var(--muted);font-weight:500}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px;padding:20px}.pagination-btn{padding:8px 16px;border:1px solid #e2e8f0;background:#fff;color:var(--text);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-numbers{display:flex;gap:4px}.pagination-number{padding:8px 12px;border:1px solid #e2e8f0;background:#fff;color:var(--text);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:40px}.pagination-number:hover,.pagination-number.active{background:var(--primary);color:#fff;border-color:var(--primary)}.company-list{display:flex;flex-direction:column;gap:12px;margin-top:24px}.company-list-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;box-shadow:0 1px 3px -1px #0000001a;transition:all .2s ease}.company-list-item:hover{transform:translateY(-1px);box-shadow:0 2px 4px -1px #0000001a}.company-details{flex:1;display:flex;flex-direction:column;gap:4px}.company-name{display:flex;align-items:center;gap:8px}.company-name h4{margin:0;font-size:14px;font-weight:600;color:var(--text)}.company-email{font-size:11px;color:var(--text-light);font-weight:500}.company-info-compact{display:flex;flex-direction:column;gap:2px}.company-actions{display:flex;gap:6px;flex-shrink:0}.company-actions button{padding:4px 8px;font-size:11px;border-radius:4px}.login-section{margin-bottom:32px}.current-company{font-size:14px;color:var(--text);font-weight:500;margin-right:12px}.company-info{display:flex;align-items:center;gap:12px}.toolbar .company-info button{width:auto;padding:8px 14px;min-width:96px;white-space:nowrap}.action-row button{width:auto;flex:1;min-width:120px}.auth-section{margin-bottom:32px}.nav-item{color:#fffc;text-decoration:none;padding:16px 20px;border-radius:16px;display:flex;align-items:center;gap:12px;font-weight:500;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);opacity:0;transition:opacity .3s ease}.nav-item:hover:before,.nav-item.active:before{opacity:1}.nav-item:hover,.nav-item.active{color:#fff;transform:translate(4px)}.toolbar-section{display:flex;gap:12px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.employee-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000001a;transition:all .2s ease;position:relative}.employee-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.employee-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;margin-bottom:16px}.employee-info h4{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text)}.employee-id{margin:0 0 4px;font-size:14px;color:var(--muted);font-weight:500}.employee-dept{margin:0 0 4px;font-size:14px;color:var(--text-light);font-weight:500}.employee-designation{margin:0 0 12px;font-size:14px;color:var(--text-light)}.employee-meta{display:flex;gap:6px;margin-bottom:16px}.meta-tag{background:#667eea1a;color:var(--primary);padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.employee-actions{display:flex;gap:8px}.danger{background:transparent;border:2px solid #e53e3e;color:#e53e3e;font-weight:500}.danger:hover{background:#e53e3e;color:#fff}@media (max-width: 1024px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}.content{margin:12px;padding:24px}}.search-filter-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 2px 4px -1px #0000001a}.search-row{margin-bottom:16px}.search-input-group{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;background:#fff;color:var(--text);outline:none;transition:all .2s ease}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.clear-search{position:absolute;right:8px;background:#e53e3e;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s ease}.clear-search:hover{background:#c53030;transform:scale(1.1)}.filter-row{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:150px}.filter-label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;background:#fff;color:var(--text);outline:none;transition:all .2s ease}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #667eea1a}.clear-filters-btn{background:transparent;border:2px solid #e53e3e;color:#e53e3e;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.clear-filters-btn:hover{background:#e53e3e;color:#fff}.filter-indicator{background:#667eea1a;color:var(--primary);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}@media print{.sidebar,.search-filter-section,.employee-actions,.pagination,.toolbar{display:none!important}.content{margin:0;padding:0;box-shadow:none;border:none;background:#fff}.employee-list-item{break-inside:avoid;page-break-inside:avoid;border:1px solid #000;margin-bottom:8px}.employee-list{display:block}.employee-list-item{display:block;padding:8px;margin-bottom:4px}.employee-details{display:block}.employee-name,.employee-info-compact,.employee-meta{display:block;margin-bottom:4px}}.print-btn{background:#38a169;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-left:12px}.print-btn{display:none!important}.print-btn:hover{background:#2f855a;transform:translateY(-1px)}@media (max-width: 768px){.grid{grid-template-columns:1fr}.content{margin:8px;padding:20px}.title{font-size:24px}.filter-row{flex-direction:column;align-items:stretch}.filter-group{min-width:auto}}
