*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f0f2f5;color:#222;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#1a73e8;color:#fff;padding:16px 32px;box-shadow:0 2px 8px #00000026}.app-header h1{font-size:1.5rem;font-weight:600}.app-main{flex:1;display:flex;align-items:center;justify-content:center}.button-group{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.btn{display:inline-block;padding:10px 20px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;text-decoration:none;text-align:center;transition:background .2s,opacity .2s;-webkit-user-select:none;user-select:none}.btn--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-large{padding:18px 40px;font-size:1.1rem}.btn-primary{background:#1a73e8;color:#fff}.btn-primary:hover:not(.btn--disabled){background:#1558c0}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(.btn--disabled){background:#545b62}.btn-success{background:#28a745;color:#fff}.btn-success:hover:not(.btn--disabled){background:#1e7e34}.btn-outline{background:transparent;color:#1a73e8;border:2px solid #1a73e8}.btn-outline:hover:not(.btn--disabled){background:#e8f0fe}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:12px;padding:28px 32px;width:100%;max-width:480px;box-shadow:0 8px 32px #0003;position:relative;z-index:101}.modal-wide{max-width:680px}.modal h3{font-size:1.2rem;font-weight:600;margin-bottom:20px;color:#1a1a1a}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:6px;color:#444}.form-group input,.form-group textarea{width:100%;padding:9px 12px;border:1.5px solid #d1d5db;border-radius:6px;font-size:.95rem;outline:none;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{border-color:#1a73e8}.candidates-table{width:100%;border-collapse:collapse;margin-top:4px;font-size:.9rem}.candidates-table th,.candidates-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.candidates-table th{background:#f8f9fa;font-weight:600;color:#555;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.loading,.empty{text-align:center;color:#888;padding:24px 0;font-size:.95rem}.error{color:#dc2626;font-size:.875rem;margin-top:8px}.success-msg{color:#28a745;font-size:.875rem;margin-top:10px;text-align:right}.file-name{font-size:.85rem;color:#555;margin-top:6px;text-align:right}.inline-field{display:flex;align-items:center;gap:10px;border:1.5px solid #d1d5db;border-radius:6px;padding:8px 12px;background:#fafafa;min-height:40px}.value-label{flex:1;font-size:.95rem;color:#222;word-break:break-all}.value-label.placeholder{color:#9ca3af;font-style:italic}.btn-sm{padding:5px 12px;font-size:.82rem;white-space:nowrap}.candidates-table tbody tr.selected{background:#e8f0fe}.candidates-table tbody tr{cursor:pointer}.candidates-table tbody tr:hover{background:#f0f4ff}.drop-zone{border:2px dashed #d1d5db;border-radius:8px;padding:36px 20px;text-align:center;cursor:pointer;color:#6b7280;font-size:.95rem;transition:border-color .2s,background .2s;margin-bottom:4px}.drop-zone:hover,.drop-zone.drag-over{border-color:#1a73e8;background:#f0f4ff;color:#1a73e8}.pending-file{color:#1a73e8;font-weight:500}.file-chip{font-size:.85rem;color:#1a73e8}.candidates-table td .placeholder{color:#b0b0b0}.btn-download{background:none;padding:0;cursor:pointer;color:#1a73e8;font-size:.88rem;font-family:inherit;text-align:left;text-decoration:underline;text-underline-offset:2px}.btn-download:hover:not(.btn--disabled){color:#1558c0}.btn-download.btn--disabled{color:#9ca3af;cursor:default;text-decoration:none}.upload-done{color:#28a745;font-weight:500}.drop-zone--disabled{cursor:default;opacity:.7}.pref-wrap{position:relative;-webkit-user-select:none;user-select:none}.pref-trigger{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1.5px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.95rem;transition:border-color .2s}.pref-trigger:hover,.pref-trigger--active{border-color:#1a73e8}.pref-trigger__label{color:#222;flex:1}.pref-trigger__label:empty:before,.pref-trigger__label[data-empty]:before{color:#9ca3af}.pref-trigger__icon{font-size:.7rem;color:#888;margin-left:8px}.pref-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid #d1d5db;border-radius:6px;box-shadow:0 4px 16px #0000001f;z-index:200;max-height:200px;overflow-y:auto}.pref-item{padding:9px 14px;font-size:.93rem;cursor:pointer;color:#222;transition:background .15s}.pref-item:hover{background:#f0f4ff}.pref-item--picked{background:#e8f0fe;color:#1a73e8;font-weight:500}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.app-nav{position:relative}.nav-link--trigger{display:inline-flex;align-items:center;gap:8px;color:#ffffffe6;text-decoration:none;font-size:.9rem;font-weight:500;padding:7px 16px;border-radius:6px;border:1.5px solid rgba(255,255,255,.35);background:#ffffff14;transition:background .18s,border-color .18s;-webkit-user-select:none;user-select:none;white-space:nowrap}.nav-link--trigger:hover,.nav-link--open{background:#ffffff2e;border-color:#ffffffb3;color:#fff}.nav-caret{font-size:.65rem;opacity:.75}.nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border-radius:8px;box-shadow:0 8px 24px #00000024;border:1px solid #e5e7eb;overflow:hidden;z-index:300}.nav-dropdown-item{display:flex;align-items:center;gap:10px;padding:12px 18px;font-size:.92rem;font-weight:500;color:#222;text-decoration:none;transition:background .15s;-webkit-user-select:none;user-select:none}.nav-dropdown-item:hover{background:#f0f4ff;color:#1a73e8}.nav-dropdown-item+.nav-dropdown-item{border-top:1px solid #f0f0f0}.nav-dropdown-icon{font-size:1rem}.app-main--split{align-items:flex-start;justify-content:center;gap:32px;padding:40px 24px;flex-wrap:wrap}.home-form-section{flex:0 1 460px}.home-form-card{background:#fff;border-radius:12px;padding:28px 32px;box-shadow:0 4px 18px #0000001a}.home-form-card h2{font-size:1.2rem;font-weight:600;margin-bottom:20px;color:#1a1a1a}
