.ateco-tree-item { 
    cursor: pointer; 
    padding: 12px 15px; 
    border-bottom: 1px solid #f1f5f9; 
    transition: 0.1s; 
    display: flex; 
    align-items: flex-start; 
    gap: 12px; 
}
.ateco-tree-item:hover { 
    background-color: #f8fafc; 
}

.ateco-code { 
    font-family: 'Roboto Mono', monospace; 
    font-weight: 700; 
    background: #e0e7ff; 
    color: #3730a3; 
    padding: 3px 8px; 
    border-radius: 6px; 
    font-size: 0.85rem; 
    min-width: 60px; 
    text-align: center; 
    flex-shrink: 0;
}

.ateco-label { 
    font-weight: 500; 
    font-size: 0.95rem; 
    line-height: 1.5; 
    flex: 1; 
    color: var(--text);
    word-wrap: break-word; 
}

.ateco-children-container { 
    padding-left: 38px; 
    border-left: 2px solid #e2e8f0; 
    display: none; 
    margin-left: 15px; 
}

.ateco-toggle { 
    width: 20px; 
    text-align: center; 
    color: #94a3b8; 
    font-size: 0.85rem; 
    margin-top: 4px; 
    transition: color 0.2s;
    flex-shrink: 0;
}
.ateco-tree-item:hover .ateco-toggle { color: var(--primary); }

.lvl-1 .ateco-code { background: #1e293b; color: #fff; border: 1px solid #0f172a; } 
.lvl-2 .ateco-code { background: #dbeafe; color: #1e40af; } 
.lvl-6 .ateco-code { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }

.search-ateco-box { 
    position: sticky; 
    top: 72px; 
    background: rgba(255,255,255,0.98); 
    backdrop-filter: blur(10px);
    padding: 20px; 
    z-index: 40; 
    border-bottom: 1px solid var(--border); 
    margin-bottom: 0;
    border-radius: 16px 16px 0 0;
}

@media (max-width: 768px) {
    .search-ateco-box {
        top: 60px;
        padding: 15px; 
        border-radius: 0; 
    }
    .ateco-tree-item {
        padding: 10px 10px; 
        gap: 8px;
    }
    .ateco-code {
        font-size: 0.75rem;
        min-width: 50px;
        padding: 2px 4px;
    }
    .ateco-label {
        font-size: 0.85rem; 
    }
    .ateco-children-container {
        padding-left: 15px; 
        margin-left: 10px;
    }
}