*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit}table{border-collapse:collapse;width:100%}input,select,textarea{font:inherit}.container{max-width:1200px;margin:0 auto;padding:0 20px}.nav{background:#333;color:white;padding:1rem 0;margin-bottom:2rem}.nav ul{display:flex;list-style:none;gap:2rem}.nav a{color:white;text-decoration:none}.nav a:hover{opacity:.8}.btn{padding:.5rem 1rem;background:#0070f3;color:white;border-radius:4px;text-decoration:none;display:inline-block;transition:opacity .2s}.btn:hover{opacity:.8}.btn-secondary{background:#666}.btn-danger{background:#dc3545}.btn-success{background:#28a745}.card{padding:1.5rem;margin-bottom:1rem}.card,.table{background:white;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.table{overflow:hidden}.table th{background:#f8f9fa;padding:1rem;text-align:left;font-weight:600;border-bottom:2px solid #dee2e6}.table td{padding:1rem;border-bottom:1px solid #dee2e6}.table tr:hover{background:#f8f9fa}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-control{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px}.form-control:focus{outline:none;border-color:#0070f3}.badge{display:inline-block;padding:.25rem .5rem;font-size:.875rem;font-weight:600;border-radius:4px;background:#6c757d;color:white}.badge-success{background:#28a745}.badge-warning{background:#ffc107;color:#333}.badge-danger{background:#dc3545}.badge-info{background:#17a2b8}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1rem;gap:1rem}.stats-card{background:white;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1);text-align:center}.stats-card h3{color:#666;font-size:.875rem;margin-bottom:.5rem}.stats-card .value{font-size:2rem;font-weight:700;color:#333}.layout-container{display:flex;min-height:100vh}.sidebar{width:250px;background:#2c3e50;color:#ecf0f1;display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:1.5rem;text-align:center;background:#34495e}.sidebar-header h2{margin:0;font-size:1.25rem}.sidebar-nav{flex-grow:1}.sidebar-nav ul{list-style:none}.sidebar-nav li a{display:block;padding:1rem 1.5rem;color:#ecf0f1;text-decoration:none;transition:background .2s,color .2s;font-weight:500}.sidebar-nav li.active>a{background:#3498db;color:white}.sidebar-nav li a:hover{background:#34495e}.submenu{background:#233140}.submenu li a{padding-left:3rem;font-size:.9rem}.submenu li.active-child>a{color:#3498db;font-weight:700;background:transparent}.main-content{flex-grow:1;background:#f5f7fa;padding:2rem;overflow-y:auto}.main-content .container{max-width:1400px;margin:0 auto;padding:0}h1{font-size:2rem;margin-bottom:1.5rem;color:#2c3e50}h2{font-size:1.5rem;margin-bottom:1rem;color:#34495e;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:2rem}.stat-card-v2{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);display:flex;align-items:center;padding:1.5rem;border-left:5px solid;transition:transform .2s ease,box-shadow .2s ease}.stat-card-v2:hover{transform:translateY(-5px);box-shadow:0 8px 12px rgba(0,0,0,.15)}.stat-icon{border-radius:50%;color:white;display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex-shrink:0;margin-right:1rem}.stat-content{flex-grow:1}.stat-title{margin:0 0 .25rem;color:#555;font-size:1rem;font-weight:600}.stat-value{margin:0;font-size:1.75rem;font-weight:700;color:#333}.loader{border:4px solid #f3f3f3;border-top-color:#3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.filter-bar,.header-actions{display:flex;align-items:center;gap:1rem}.filter-bar{flex-wrap:wrap}.search-box{position:relative;flex-grow:1;min-width:250px}.search-box .search-icon{position:absolute;top:50%;left:10px;transform:translateY(-50%);color:#999}.search-box input{width:100%;padding:.6rem .6rem .6rem 2.2rem;border-radius:6px;border:1px solid #ddd;transition:border-color .2s}.search-box input:focus{border-color:#3498db;outline:none}.filter-bar select{padding:.6rem;border-radius:6px;border:1px solid #ddd;background-color:white}.bulk-action-bar{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem 1.5rem;background-color:#e9f5ff;border:1px solid #b3d7ff}.bulk-action-bar span{font-weight:600;color:#0056b3}.bulk-action-bar div{display:flex;gap:.5rem}.table-wrapper{overflow-x:auto;margin-top:1.5rem;background:white;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{padding:1rem;text-align:left;border-bottom:1px solid #f0f0f0;white-space:nowrap}.data-table thead{background-color:#f9fafb}.data-table th{font-weight:600;color:#444}.data-table tbody tr:hover{background-color:#f5f7fa}.status-badge{padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:500}.status-active{background-color:#e6f4ea;color:#28a745}.status-inactive{background-color:#f8f9fa;color:#6c757d}.action-buttons,.btn-icon{display:flex;gap:.5rem}.btn-icon{align-items:center;padding:.4rem .8rem;border-radius:6px;background-color:#f0f0f0;border:1px solid #ddd;color:#333;font-size:.9rem;transition:background-color .2s}.btn-icon:hover{background-color:#e0e0e0}.btn-icon.btn-success{background-color:#28a745;color:white;border:none}.btn-icon.btn-success:hover{background-color:#218838}.btn-icon.btn-secondary{background-color:#6c757d;color:white;border:none}.btn-icon.btn-secondary:hover{background-color:#5a6268}.btn-icon.btn-primary{background-color:#0070f3;color:white;border:none}.btn-icon.btn-primary:hover{background-color:#005bb5}.status-badge.status-pending{background-color:#fff3e0;color:#f39c12}.status-badge.status-matched{background-color:#e6f4ea;color:#28a745}.status-badge.status-rejected{background-color:#fbe9e7;color:#dc3545}.status-badge.status-ok{background-color:#e6f4ea;color:#28a745}.status-badge.status-ng{background-color:#fbe9e7;color:#dc3545}.status-badge.status-secondary{background-color:#f8f9fa;color:#6c757d}.btn-success-outline{background-color:transparent;color:#28a745;border:1px solid #28a745}.btn-success-outline:hover{background-color:#e6f4ea}.btn-danger-outline{background-color:transparent;color:#dc3545;border:1px solid #dc3545}.btn-danger-outline:hover{background-color:#fbe9e7}.empty-state{text-align:center;padding:3rem;color:#888}.status-badge.status-proposed{background-color:#eaf2f8;color:#3498db}.status-badge.status-dating{background-color:#fef5e7;color:#f39c12}.status-badge.status-ended{background-color:#f4f6f7;color:#7f8c8d}.status-badge.status-paid{background-color:#e6f4ea;color:#28a745}.status-badge.status-unpaid{background-color:#fbe9e7;color:#dc3545}.status-badge.status-free{background-color:#e8f6f8;color:#17a2b8}.dropdown-menu{position:relative}.dropdown-menu .btn-icon{display:flex;align-items:center;gap:.5rem}.dropdown-list{position:absolute;top:calc(100% + 5px);right:0;background-color:white;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);list-style:none;padding:.5rem 0;z-index:10;width:max-content;border:1px solid #eee}.dropdown-list li button{display:block;width:100%;text-align:left;padding:.75rem 1.5rem;background:none;border:none;cursor:pointer;font-size:.9rem}.dropdown-list li button:hover{background-color:#f5f7fa}.user-name-btn{background:none;border:none;color:#667eea;font-weight:600;font-size:.95rem;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.user-name-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s}.user-name-btn:hover{background:linear-gradient(135deg,rgba(102,126,234,.08),rgba(118,75,162,.08));color:#5a67d8;transform:translateX(2px)}.user-name-btn:hover:before{left:100%}.status-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);border:2px solid transparent;position:relative;overflow:hidden}.status-toggle-btn.active{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:white;box-shadow:0 4px 15px rgba(255,107,107,.3)}.status-toggle-btn.inactive{background:linear-gradient(135deg,#10b981,#059669);color:white;box-shadow:0 4px 15px rgba(16,185,129,.3)}.status-toggle-btn:hover{transform:translateY(-1px)}.status-toggle-btn.active:hover{box-shadow:0 6px 20px rgba(255,107,107,.4)}.status-toggle-btn.inactive:hover{box-shadow:0 6px 20px rgba(16,185,129,.4)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label:hover{background:rgba(102,126,234,.05)}.checkbox-input{width:18px;height:18px;accent-color:#667eea;cursor:pointer}.checkbox-label span{font-weight:600;font-size:.9rem}.field-full-width{width:100%}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 16px;gap:12px 16px;margin:16px 0}@media (max-width:640px){.field-grid{grid-template-columns:1fr;gap:12px}}.suggestion-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 10px 25px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.suggestion-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.candidate-card{background:white;border-radius:12px;padding:1rem;margin-bottom:.75rem;border:2px solid transparent;transition:all .3s ease;cursor:pointer}.candidate-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px rgba(59,130,246,.15);transform:translateY(-2px)}.candidate-card.selected{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 8px 25px rgba(59,130,246,.25)}.candidate-card.top-candidate{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5);position:relative}.top-candidate-badge{position:absolute;top:-8px;left:16px;background:linear-gradient(135deg,#10b981,#059669);color:white;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px rgba(16,185,129,.3)}.score-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin:8px 0}.score-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#ec4899);border-radius:4px;transition:width .8s ease-out}.processing-container{text-align:center;padding:3rem;background:white;border-radius:16px;box-shadow:0 10px 25px rgba(0,0,0,.1);margin:2rem 0}.processing-icon{width:64px;height:64px;margin:0 auto 1rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}.progress-bar{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin:1rem 0}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:6px;transition:width .3s ease-out}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(59,130,246,.7)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(59,130,246,0)}}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.gradient-button{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:12px;color:white;font-weight:700;padding:12px 24px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(59,130,246,.3)}.gradient-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.4)}.gradient-button:active{transform:translateY(0)}.gradient-button:disabled{background:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width:768px){.suggestion-card{padding:1rem;margin-bottom:.75rem}.candidate-card{padding:.75rem}.processing-container{padding:2rem 1rem}.processing-icon{width:48px;height:48px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-fade-in .3s ease-out}.modal-content{background:white;padding:2rem;border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 25px rgba(0,0,0,.1);animation:modal-slide-up .4s cubic-bezier(.16,1,.3,1)}.modal-content h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:#2c3e50}.modal-content textarea{width:100%;margin-bottom:1.5rem;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;min-height:120px}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}