:root{--primary-color:#00a5fa;--primary-hover:#29b6f6;--success-color:#66bb6a;--success-hover:#4caf50;--danger-color:#ef5350;--danger-hover:#f44336;--background-color:#121212;--card-background:#1e1e1e;--text-primary:#fff;--text-secondary:#b0b0b0;--border-color:#333;--border-radius:8px;--shadow:0 2px 10px #0000004d;--shadow-hover:0 4px 20px #0006;--gradient-background:linear-gradient(135deg, #667eea 0%, #764ba2 100%)}*{box-sizing:border-box}body{background:var(--gradient-background);color:var(--text-primary);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root,.App{min-height:100vh}.btn{border-radius:var(--border-radius);cursor:pointer;border:none;padding:12px 24px;font-size:16px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--success-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.card{background:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--shadow);margin:2rem;padding:1.5rem}.form-group{margin-bottom:2.5rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.form-select{border:2px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-background);width:100%;color:var(--text-primary);padding:12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:16px;transition:border-color .2s}.form-select:focus{border-color:var(--primary-color);outline:none}.week-picker-input::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.form-row{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.form-row .form-group{flex:0 auto;min-width:12rem}.form-row .form-group:has(.company-select){flex:1;min-width:18rem}.form-row .form-select-small{flex-shrink:0;max-width:12rem}.form-row .form-group-narrow{flex:none;min-width:6rem}.form-row .form-group-narrow .form-select-small{width:7rem;max-width:7rem}.form-row .form-group:has(.week-picker-input){flex:auto;min-width:14rem}.drop-zone{border:2px dashed var(--border-color);border-radius:var(--border-radius);text-align:center;cursor:pointer;background-color:#2a2a2a;justify-content:center;align-items:center;min-height:12rem;margin:3rem 0;padding:4rem 2rem;transition:all .3s;display:flex}.drop-zone:hover{border-color:var(--primary-color);background-color:#1a3a4a}.drop-zone.has-file{border-color:var(--success-color);background-color:#1a3a2a}.drop-zone-content{flex-direction:column;align-items:center;gap:1.5rem;width:100%;display:flex}.file-info{background:var(--card-background);border-radius:var(--border-radius);border:1px solid var(--border-color);text-align:center;min-width:18rem;padding:2rem}.alert{border-radius:var(--border-radius);margin-top:1rem;padding:1rem;font-weight:500}.alert-success{color:#c8e6c9;background-color:#1b5e20;border:1px solid #4caf50}.alert-error{color:#ffcdd2;background-color:#b71c1c;border:1px solid #f44336}.header{background:var(--card-background);box-shadow:var(--shadow);justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 2rem;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.header-logo{width:auto;height:40px}.header h1{color:var(--primary-color);margin:0;font-size:1.8rem}.login-container{background:var(--gradient-background);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:4rem;display:flex}.login-card{background:var(--card-background);text-align:center;border-radius:16px;width:100%;max-width:31rem;padding:4rem 3rem;box-shadow:0 15px 40px #0003}.login-logo{width:auto;height:60px;margin-bottom:2rem}.login-card h1{color:var(--primary-color);margin-bottom:1rem;font-size:2.5rem}.login-card p{color:var(--text-secondary);margin-bottom:3rem;font-size:1.1rem}.upload-container{max-width:75rem;min-height:calc(100vh - 5rem);margin:0 auto;padding:2rem}.upload-container--wide{max-width:90rem}.upload-container .card{min-height:37.5rem;margin:0;padding:2rem}.instructions-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.instructions-card{background:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--shadow-hover);flex-direction:column;align-items:flex-start;width:90vw;max-width:62.5rem;min-height:37.5rem;padding:4rem 3rem;display:flex}.upload-status{max-width:75rem;margin:0 auto;padding:1.25rem}.status-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.week-selector{flex-direction:column;gap:8px;display:flex}.week-selector .form-select{width:12rem}.validation-status{border-radius:8px;margin-bottom:30px;padding:15px}.validation-status.success{color:#22c55e;background-color:#1a4d3a;border:1px solid #22c55e}.validation-status.error{color:#ef4444;background-color:#4d1a1a;border:1px solid #ef4444}.files-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:20px}.files-table{border-collapse:collapse;width:100%;margin-top:15px}.files-table th,.files-table td{text-align:left;border-bottom:1px solid #ffffff1a;padding:12px}.files-table th{color:#e5e7eb;background:#ffffff1a;font-weight:600}.files-table td{color:#d1d5db}.files-table tr:hover{background:#ffffff0d}.missing-companies-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-top:20px;padding:20px}.success-text{color:#22c55e;font-weight:500}.warning-text{color:#f59e0b;margin-bottom:15px;font-weight:500}.company-tags{flex-wrap:wrap;gap:8px;display:flex}.company-tag{color:#f59e0b;background:#f59e0b33;border:1px solid #f59e0b4d;border-radius:4px;padding:4px 8px;font-size:14px;font-weight:500}.success-tag{color:#22c55e;background:#22c55e33;border:1px solid #22c55e4d}.file-cell{flex-direction:column;gap:4px;display:flex}.filename{color:#e5e7eb;font-weight:500}.upload-date{color:#9ca3af;font-size:12px}.missing-file{color:#ef4444;font-style:italic;font-weight:500}.optional-file{color:#6b7280;text-align:center}.card-mini{background:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--shadow);margin:1rem 2rem;padding:1rem}.clickable{transition:background-color .2s}.clickable:hover{background-color:#ffffff0d}.validation-message{white-space:pre-wrap;color:#ffd7ae;background:#bf5a0024;border:1px solid #bf5a0059;border-left:3px solid #ffb86b;border-radius:6px;margin:.5rem 0 1rem;padding:1rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem}.us-accordion{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.us-section{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.us-section-header{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;transition:background-color .2s;display:flex}.us-section-header:hover{background-color:#ffffff0a}.us-title{align-items:center;gap:.5rem;display:flex}.us-title h3{margin:0;font-size:1rem;font-weight:600}.us-badge{opacity:.95;border:1px solid;border-radius:999px;margin-left:.25rem;padding:0 .5rem;font-size:.8rem;line-height:1.6}.us-badge.success{color:#22c55e;background:#22c55e1f;border-color:#22c55e59}.us-badge.error{color:#ef4444;background:#ef44441f;border-color:#ef444459}.us-subtitle{color:var(--text-secondary);white-space:nowrap;font-size:.875rem}.us-section-body{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.us-section.open .us-section-body{grid-template-rows:1fr}.us-section-content{min-height:0;padding:.75rem 1rem 1rem;overflow:hidden}.us-controls{align-items:flex-end;gap:1rem;margin-left:auto;display:flex}.us-controls-row{align-items:center;gap:.5rem;display:flex}.us-table-wrap{border:1px solid #ffffff14;border-radius:10px;overflow:auto}.muted{color:var(--text-secondary)}.small{font-size:.875rem}input[type=date]::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--card-background);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--card-background)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}
