/* Company dropdown */
.company-dropdown { animation: slideDown 0.15s ease-out; }
.company-dropdown-content {
    background: #ffffff; border: 1px solid #e0e5eb; border-radius: 12px;
    box-shadow: 0 10px 25px -5px rgba(42, 81, 89, 0.1), 0 8px 10px -6px rgba(42, 81, 89, 0.05);
    max-height: 280px; overflow-y: auto; overflow-x: hidden;
}
.company-dropdown-item {
    width: 100%; background: none; border: none;
    padding: 14px 16px; text-align: left; cursor: pointer;
    transition: all 0.2s ease; display: flex;
    align-items: center; justify-content: space-between;
    border-bottom: 1px solid #eef1f6;
}
.company-dropdown-item:last-child { border-bottom: none; }
.company-dropdown-item:hover { background-color: #f5f7fa; transform: translateX(2px); }
.company-dropdown-item:active { background-color: #eef1f6; }
.company-dropdown-main { flex: 1; min-width: 0; }
.company-name { font-size: 15px; font-weight: 600; color: #222934; line-height: 1.3; margin-bottom: 4px; }
.company-details { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; flex-wrap: wrap; }
.company-regcode { font-size: 13px; color: #6c727f; }
.company-separator { color: #cad0d9; }
.company-pvn {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 12px; color: #33b36b; font-weight: 500;
    background-color: rgba(51, 179, 107, 0.1);
    padding: 3px 6px; border-radius: 4px;
}
.company-pvn-icon { width: 12px; height: 12px; fill: currentColor; }
.company-address { font-size: 12px; color: #6c727f; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-dropdown-icon { color: #cad0d9; margin-left: 12px; transition: all 0.2s ease; flex-shrink: 0; }
.company-dropdown-item:hover .company-dropdown-icon { color: #2a5159; transform: translateX(2px); }

/* Bank dropdown */
.bank-dropdown { animation: slideDown 0.15s ease-out; }
.bank-dropdown-content {
    background: #ffffff; border: 1px solid #e0e5eb; border-radius: 12px;
    box-shadow: 0 10px 25px -5px rgba(42, 81, 89, 0.1), 0 8px 10px -6px rgba(42, 81, 89, 0.05);
    max-height: 280px; overflow-y: auto; overflow-x: hidden;
}
.bank-dropdown-item {
    width: 100%; background: none; border: none;
    padding: 14px 16px; text-align: left; cursor: pointer;
    transition: all 0.2s ease; display: flex;
    align-items: center; justify-content: space-between;
    border-bottom: 1px solid #eef1f6;
}
.bank-dropdown-item:last-child { border-bottom: none; }
.bank-dropdown-item:hover { background-color: #f5f7fa; transform: translateX(2px); }
.bank-dropdown-main { flex: 1; min-width: 0; }
.bank-name { font-size: 15px; font-weight: 600; color: #222934; line-height: 1.3; margin-bottom: 4px; }
.bank-details { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bank-bic { font-size: 13px; color: #6c727f; }
.bank-separator { color: #cad0d9; }
.bank-country { font-size: 13px; color: #6c727f; }
.bank-city { font-size: 12px; color: #9ca3af; margin-top: 2px; }
.bank-dropdown-icon { color: #cad0d9; margin-left: 12px; transition: all 0.2s ease; flex-shrink: 0; }
.bank-dropdown-item:hover .bank-dropdown-icon { color: #2a5159; transform: translateX(2px); }

/* VAT status */
.vat-status { display: flex; align-items: center; gap: 4px; margin-top: 6px; font-size: 13px; line-height: 1; }
.vat-valid { color: #28a745; }
.vat-invalid { color: #dc3545; }

/* Animation */
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Mobile */
@media (max-width: 768px) {
    .company-dropdown-content, .bank-dropdown-content { max-height: 220px; border-radius: 8px; }
    .company-dropdown-item, .bank-dropdown-item { padding: 12px 14px; }
    .company-name, .bank-name { font-size: 14px; }
}

/* Scrollbar */
.company-dropdown-content::-webkit-scrollbar,
.bank-dropdown-content::-webkit-scrollbar { width: 6px; }
.company-dropdown-content::-webkit-scrollbar-track,
.bank-dropdown-content::-webkit-scrollbar-track { background: #f5f7fa; border-radius: 3px; }
.company-dropdown-content::-webkit-scrollbar-thumb,
.bank-dropdown-content::-webkit-scrollbar-thumb { background: #cad0d9; border-radius: 3px; }

/* Loading spinner */
.autofill-spinner {
    display: inline-block;
    width: 16px; height: 16px;
    border: 2px solid #adb5bd !important;
    border-right-color: transparent !important;
    border-radius: 50%;
    animation: autofill-spin .75s linear infinite;
}
.position-relative { position: relative; }
.autofill-spinner-inside {
    position: absolute;
    right: 12px;
    top: 15px;
    z-index: 5;
}
@keyframes autofill-spin {
    to { transform: rotate(360deg); }
}
